一、一些基础的
Go 语言的代码通过包(package)组织,一个包由位于单个目录下的一个或多个
.go
源代码文件组成,目录定义包的作用。Go 的标准库提供了 100 多个包,以支持常见功能,如输入、输出、排序以及文本处理。
fmt
包,就含有格式化输出、接收输入的函数。Println
是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。
main
包比较特殊。它定义了一个独立可执行的程序,而不是一个库。在main
里的main
函数也很特殊,它是整个程序执行时的入口(译注:C 系语言差不多都这样)。main
函数所做的事情就是程序做的。当然了,main
函数一般调用其它包里的函数完成很多工作(如:fmt.Println
)。
Go 语言只有
for
循环这一种循环语句。
二、命名
Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。
Go语言中类似if和switch的关键字有25个;关键字不能用于自定义名字,只能在特定语法结构中使用。
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
还有大约30多个预定义的名字,比如int和true等,主要对应内建的常量、类型和函数。
内建常量: 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
内部预先定义的名字并不是关键字,可以在定义中重新使用它们。在一些特殊的场景中重新定义它们也是有意义的,但是也要注意避免过度而引起语义混乱。