随笔分类 -  go学习笔记

记录go的学习
摘要:##linux获取目录的uid从而获取权限 直接看代码 func getuid(path string) string { var uid string info, _ := os.Stat(path) if stat, ok := info.Sys().(*syscall.Stat_t); ok 阅读全文
posted @ 2021-08-11 17:56 warrens 阅读(567) 评论(0) 推荐(1)
摘要:##接口 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。也就是说我们只关心接口实现了什么功能,不关心接口具体怎么实现的。 可能有些东西同学不太理解为什么要有接口,下面举个例子 package main import "fmt" type cat 阅读全文
posted @ 2021-08-03 11:36 warrens 阅读(50) 评论(0) 推荐(1)
摘要:slice是一个引用类型的数据,它的底层实际上是一个数组,我们改变切片里的值,也会改变原来数据的值,列如: arr := [5]int{1,2,3,4,5} arr2 := arr[:] arr2[0] = 10000 fmt.Println(arr) //输出10000 2 3 4 5 slice 阅读全文
posted @ 2021-08-02 14:00 warrens 阅读(34) 评论(0) 推荐(1)
摘要:##go语言函数 go语言的函数地位非常高,函数可以做返回值成了闭包,函数也可以赋值给变量。 函数闭包 下面来看看如下代码为什么可以计算斐波那契数列 package mainimport "fmt"func fib() func() int { a, b := 0,1 return func() i 阅读全文
posted @ 2021-07-30 14:28 warrens 阅读(58) 评论(0) 推荐(1)
摘要:##流程控制语句 go语言的流程控制语句有if和swtich,先来看看if,if有一种用法和c语言的差不多。如下: if err!=nil { panic("wrong") } 还有一种用法可以给变量赋值在跟上条件,如下: if contents,err := ioutil.ReadFile(fil 阅读全文
posted @ 2021-07-30 11:55 warrens 阅读(44) 评论(0) 推荐(0)
摘要:##变量的定义 go语言可以省去变量的类型,有如下几种定义 省略变量类型的var name = "wl" 加上变量类型的var name string = "wl" go语言可以使用 :=方式定义任何类型的变量 列如name := "wl" 也可以多个变量一起定义 name, height, age 阅读全文
posted @ 2021-07-29 15:41 warrens 阅读(104) 评论(0) 推荐(0)