摘要:
管道 chan func main() { numchan := make(chan int) go func() { for i:=0;i<20;i++{ numchan <- i fmt.Println("写入数据:",i) } close(numchan) }() //管道通过range遍力, 阅读全文
摘要:
权限控制 //Go 语言中,权限通过字母大小写来控制 //Import 如果包名不同,那么只有大小字母开头的才是public的 //对于类里面的成员,方法,只有大写开通的才能在其他包中使用 阅读全文
摘要:
类和继承 //Go通过结构体构建类 type Person struct { name string age int gender string score float64 } func (p *Person)Eat() { //类绑定方法 p.name = "hello" fmt.Println( 阅读全文
摘要:
defer func main() { //defer 延迟关键字,可以用于修饰语句 函数,确保在退出时执行 //一般用于资源清理工作 //解锁 关闭文件 //在一个函数中多次调用defer,先入后出 Readfile("test/var_var.go") } func Readfile(filen 阅读全文
摘要:
init函数 //init函数没有参数和返回值 //一个包可以有多个init,调用顺序不定 //不允许用户显式调用 //只想使用init函数,在引用的地方使用_ //可以有多个init函数 func init() { fmt.Println("this is first init") } 阅读全文
摘要:
结构体 //go 结构体使用type struct 来定义 type Student struct { name string age int gender string score float64 } func main() { lilei := Student{ name: "lilei", a 阅读全文
摘要:
const iota //在go中没有枚举类型,但是可以使用const iota进行模拟 const ( MON = iota TUE WEN ) //iota 是常量计数器 //iota从0开始,每换行递增1 const ( ADDR = "shenzhen" ) //const 自动推导 fmt 阅读全文
摘要:
switch arr1 := []string{"hello","world2"} switch arr1[1] { case "hello": fmt.Println("hello") case "world": fmt.Println("world") default: fmt.Println( 阅读全文
摘要:
函数 func test2(a int,b int,c int) (int,string) { //函数返回值在参数列表之后 //如果有多个返回值,使用圆括号 return a+b+c,"hello" } func test3(a int) (s1 string) { //函数返回值可以指定名字,在 阅读全文
摘要:
字典 //1定义map,然后在分配空间 var dict2 map[string]string dict2 = make(map[string]string) dict2["key"] = "value" //2定义map并分配空间,常用 dict := make(map[int]string,20 阅读全文