1、golang常见关键字
注意:new和make不是关键字,是go语言的内建函数,用来分配内存,但使用的类型不同。
2、变量声明
全局变量——var 变量名 【类型】,如:var str string 或 var str=“”
局部变量——变量名:= 值,如:str:=“”
3、通过指针变量p访问其成员变量name,语法:p.name 或 (*p).name
4、关于接口和类的说法:
1)一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口
2)实现类的时候,只需要关心自己应该提供哪些方法,不用再纠结接口需要拆的多细才合理
3)接口由使用方按自身需求来定义,使用方无需关系是否其他模块定义过类似的接口
5、单引号:不能表示字符串,表示byte类型或rune类型,默认是rune类型。rune用来表示Unicode的code point
双引号:表示字符串,实际上是字符数组。(支持转义,不支持用来引用多行)
反引号:表示字符串字面量,支持多行,但不支持任何转义序列。定义时写的什么,它就是什么,你写换行,它就有换行,你写转义字符,它也有转义字符。
6、关于协程的说法:
1)协程和线程都可以实现程序的并发执行
2)通过channel来进行协程间的通信
7、关于init函数的说法:
1)一个包中,可以包含多个init函数
2)程序编译时,先执行导入包的init函数,再执行本包内的init函数
小知识:1)包名前加点(.“fmt”),在引用时包名可省略,如:fmt.Println 改写为 Println
2)给包其别名,如:f “fmt”
3)只执行包的初始化方法,不需要调用API时,在包名前加下划线,如:_"testpac"