一、第一个Go程序
我们第一个Go程序以最简单的Hello world作为开始。所有Go语言程序文件的文件名都以“.go”结尾,该程序可以命名为:helloWorld.go。
二、程序结构分析
Go语言程序一般由关键字、包、常量、变量、运算符、符号、类型和函数组成。在这个程序仅涉及到关键字、包、符号和函数,以下对这些内容做简要介绍。这些内容的详细介绍以及常量、变量、运算符、类型等知识点在后面章节逐一展开。
2.1 关键字
关键字只能在特定的语法结构中使用,不能用于自定义名字。在Go语言程序里,有25个内置关键字和36个预定义标识符,如表1和表2所示。
在这个程序里涉及到的关键词有:package、import、func。
◆ package
声明该程序所属的包,类似于其它语言的库或者模块。
◆ import
导入需要的第三方包。例如这个程序通过导入第三方包fmt实现格式化输出。
◆ func
函数声明的关键字。
2.2 包
2.21 声明包
每个Go程序的第一行代码都是用于声明此程序所属的包。一般程序关于包的声明格式为:
package 包名
在工程管理那一章里,我们介绍了Go语言一个特殊的包——main包,它包含了main()主函数。这个程序的第一行代码就是对main包的声明:
package main
2.22 导入包
如果这个程序需要用到第三方包中的信息,就需要导入第三方包。例如,在这个程序里需要使用第三方包fmt中的函数来格式化输出,因此需要导入fmt:
import "fmt"
2.23 符号
当一个程序需要导入第三方包时,第三方包的包名要用到一个双引号;如果一个程序需要导入多个第三方包,则导入格式中还需要用到小括号。例如:
import (
"fmt"
"strconv"
)
2.4 函数
2.4.1 函数的声明
函数是Go程序里重要的一部分,函数包括内置函数和自定义函数,在后面章节会重点介绍函数的相关知识。函数声明的关键词是func,一般函数的定义包含以下部分:
func 函数名(参数列表)(返回值列表) {
// 函数体
}
本程序里包含一个特殊的函数——main()函数。main()函数是Go可执行程序的起点,main是函数名,参数为空,没有返回值。
func main() {
// 函数体
}
2.4.2 导入包的函数的调用
调用导入包的函数格式:
包名.函数名
这里调用了包fmt中的Println()函数,Println()函数位于第三方包,函数首字母大写,可以被当前包调用:
fmt.Println()
2.5 行注释和快注释
在Go语言程序代码中,为了提高程序代码的可读性,需要对一个语句、程序段、函数等进行解释说明或提示,这种解释说明或提示就叫做注释。Go语言程序的注释有两种:行注释和块注释。
行注释:注释语句用一行就可以结束,一般用“//行注释内容”表示。
块注释:注释语句需要多行,一般用“/*块注释内容*/”表示。
三、Go语言程序格式书写规范要求
◆ 首字母(包括全局变量名、函数名、结构体类型名、结构体成员变量名)大写的可以由package外部访问,首字母小写的只能在package内部访问;
◆ 句尾一般不需要“;”,如果一行写多条语句用“;”隔开;
◆ “{”必须和func在同一行;
◆ 所有的标点符号都必须是英文格式。
参考资料:
[1] (美)艾伦A.A.多诺瓦(Alan A. A. Donovan),(美)布莱恩W.柯尼汉(Brian W.Kernighan)著;李道兵等译.—北京:机械工业出版社,2017.1(2017.12重印):20
[2] 许式伟,吕桂华.Go语言编程[M].北京:人民邮电出版社,2012:11.