命名
变量名、常量名、函数名、包名、类型名、语句标号的命名规则:以字母或下划线开头,跟任意数量的字母、数字或下划线。Go语言区分大小写,推荐使用驼峰式命名风格。
函数内部定义的名字只在函数内部有效,函数外部定义的名字在当前包的所有文件中有效。名字的开头字母决定了名字在包外的可见性。如果一个名字是大写字母开头的就是导出的,也就是说可以被外部的包访问。包内部的名字一般总是用小写字母。
关键字:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
预定义名字(可以重新定义和使用):
内建常量: true false iota nil
内建类型: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
内建函数: make len cap new append copy close delete
complex real imag
panic recover
声明
变量的声明:
var 变量名 类型 = xxx
var 变量名 类型(使用零值初始化)
var 变量名 = xxx
//数值类型变量对应的零值是0,布尔类型变量对应的零值是false,字符串类型对应的零值是空字符串,接口或引用类型(包括slice、指针、map、chan和函数)变量对应的零值是nil。数组或结构体等聚合类型对应的零值是每个元素或字段都是对应该类型的零值。
//var形式的声明语句往往是用于需要显式指定变量类型的地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。
简短变量声明:
变量名 := xxx
//简短变量声明语句中必须至少要声明一个新的变量,已经声明过的变量使用简短变量声明时只是重新赋值了一次。
//简短变量声明语句只有对已经在同级词法域声明过的变量才和赋值操作语句等价,如果变量是在外部词法域声明的,那么简短变量声明语句将会在当前词法域重新声明一个新的变量。
Go中指针的类型是`*int`
*p: 取变量p的值
&p: 取变量p的地址
调用内建new函数创建匿名变量:
new(变量类型) //返回*int类型的变量地址
x, y = y, x //可以交换两个变量的值
常量的声明: const 常量名
类型的声明: type 类型名字 底层类型
函数实体对象的声明:
func 函数名(参数名 参数类型) (返回值 返回值类型) {
return
}
...待完善