与C/C++语言相比,Go语言有许多特殊的规则,下面简单总结整理了几条,作为学习笔记。
- 开头需要package声明,表示代码的所属包。
- import关键词后面是引入包的路径(相对和绝对)。
- Go语言的main()函数不能带参数,也不能定义返回值。
- init()函数可以用在任何包,一个包里可以有多个init函数。
- 编译器会自动的先执行init函数,再执行main函数。
- 函数都需要用关键字func开头,格式:func函数名(参数列表)(返回值列表)+函数体。
- 函数名首字母大写为public,小写为private。
- 函数的参数的数量可以不定。
- 左花括号{不能单独在一行。
- 变量声明用关键词var,并且类型在变量名之后。
- 定义变量和赋值一步操作,使用:=符号。
- 枚举类型使用iota,遇到const关键字iota就会变为0。
- 布尔类型只能赋值为true或者false或者表达式,不能赋值其他类型(如int)。
- 反引号``里面的字符串不会转义字符。
- Go语言不能隐式转换类型。
- 类型别名为关键词type。
- switch语句中可以使用fallthrough强制执行后面的case语句。
- 关键词range用来遍历,返回键和值。
- 支持goto语句。
- defer的作用是延迟一个函数或方法的执行。
- defer的执行顺序是后进先出,即程序会先执行写在最后一个defer后的函数。