命名
命名规则
一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意 数量的字母、数字或下划线。
大写字母和小写字母是不同的:heapSort和Heapsort是两个不 同的名字。
关键字重复
关键字不能用于自定义名字,只能在特定语法结构 中使用。
关键字如下
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
这些内部预先定义的名字并不是关键字,你可以再定义中重新使用它们。
在一些特殊的场景 中重新定义它们也是有意义的,但是也要注意避免过度而引起语义混乱。
访问范围
1.如果一个名字是在函数内部定义,那么它的就只在函数内部有效。
2.如果是在函数外部定义, 那么将在当前包的所有文件中都可以访问。
3.名字的开头字母的大小写决定了名字在包外的可 见性。如果一个名字是大写字母开头的,那么它将是导出的,
也就是说可以被外部的包访问,例如fmt包的 Printf函数就是导出的,可以在fmt包外部访问。
包本身的名字一般总是用小写字母。
命名风格
1,名字的长度没有逻辑限制,但是Go语言的风格是尽量使用短小的名字
2,在习惯上,Go语言程序员推荐使用 驼峰式 命名,比如QuoteRuneToASCII和parseRequestLine 这样的函数命名
声明
1.var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。
var 变量名字 类型 = 表达式
2.可以在一个声明语句中同时声明一组变量,
var i, j, k int // int, int, int
初始化
一般变量初始化
1. 一般语法如下: var 变量名字 类型 = 表达式
2.可以初始化多组: var b, f, s = true, 2.3, "four" // bool, float64, string