命名规则

Go 的函数变量常量自定义类型(package)的命名方式遵循以下规则

任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。

包名称

最好保持package的名字和目录保持一致,尽量不要和标准库冲突。包名应该为小写单词,尽量不要使用下划线。

变量命名

变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写

关键字

Go 语言中 25 个关键字或保留字

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

除了以上的关键字,Go 语言还有 36 个预定义标识符

appendboolbytecapclosecomplexcomplex64complex128uint16
copyfalsefloat32float64imagintint8int16uint32
int32int64iotalenmakenewnilpanicuint64
printprintlnrealrecoverstringtrueuintuint8uintptr

声明和使用变量

若要声明变量,需要使用 var 关键字

声明 string 类型中的一个名为firstName 的变量。

1
var firstName string

通过在变量名称后面添加逗号 (,),表示将要声明其他变量。

1
var firstName, lastName string

另一种编写方法是在 var 关键字后面使用括号,就像通过一个专用块来声明变量

1
2
3
4
var (
firstName, lastName string
age int
)

初始化变量

在 Go 中,可以通过多种方式初始化变量

1
2
3
4
5
var (
firstName string = "Shi"
lastName string = "Guang"
age int = 18
)

初始化某个变量,不指定其类型,Go 会推断出其类型。

Go 将推断出变量 firstNamelastName 的类型为 string,并且变量 age 属于 int 类型。

1
2
3
4
5
var (
firstName = "Shi"
lastName = "Guang"
age = 18
)

在 Go 中,你可以在单行中声明和初始化变量。 使用逗号将每个变量名称隔开,并对每个值执行相同的操作(按同一顺序)

1
2
3
var (
firstName, lastName, age = "Shi", "Guang", 18
)

还可以通过另一种方式来声明和初始化变量。 此方法是在 Go 中执行此操作的最常见方法。

1
2
3
4
5
func main() {
firstName, lastName := "Shi", "Guang"
age := 18
println(firstName, lastName, age)
}

请注意,在定义变量名称后,需要在此处加入一个冒号等于号 (:=) 和相应的值。 使用冒号等于号时,要声明的变量必须是新变量。

如果使用冒号等于号并已经声明该变量,将不会对程序进行编译。

no new variables on left side of :=

声明常量

用于声明常量的关键字是 const

例如,你可以按如下所示声明常量:

1
const HTTPStatusOK = 200

与变量一样,Go 可以通过分配给常量的值推断出类型。

在 Go 中,常量名称通常以混合大小写字母或全部大写字母书写。

如果需要在一个块中声明多个常量,可以按如下所示执行:

1
2
3
4
5
const (
StatusOK = 0
StatusConnectionReset = 1
StatusOtherError = 2
)

注意

如果声明了变量但未使用,Go 会抛出错误

以上面的输出名字年龄为例,去掉最后的输出语句

.\demo.go:5:2: firstName declared but not used
.\demo.go:5:13: lastName declared but not used
.\demo.go:6:2: age declared but not used

如果导入包却不使用,Go 也会抛出错误如果你碰到

imported and not used

基本数据类型

Go 有四类数据类型:

  • 基本类型:数字、字符串和布尔值
  • 聚合类型:数组和结构
  • 引用类型:指针、切片、映射、函数和通道
  • 接口类型:接口

整数数字

一般来说,定义整数类型的关键字是 int。 但 Go 还提供了 int8int16int32int64 类型,其大小分别为 8、16、32 或 64 位的整数。

使用 32 位操作系统时,如果只是使用 int,则大小通常为 32 位。 在 64 位系统上,int 大小通常为 64 位。 但是,此行为可能因计算机而不同。