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"