结构
GO 语言的基础组成分别为:包声明、引入包、函数、变量、语句 & 表达式、注释
案例
go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}以上为简单GO程序。GO 是编译型语言,需要执行命令运行
bash
# 运行
go run <文件路径>
# 编译(会把语言编译为可直接运行的二进制文件)
go build <文件路径>注意:在 GO 语言中
{是不能单独放到一行中,会产生语法错误。错误案例:gofunc main() { fmt.Println("hello world") }
主函数
main() 函数是程序的“入口函数”,整个程序只有一个。除此之外还有 init() 函数,他的执行时机是在 main() 函数之前的,一个包可以有多个 init() 函数
go
package main
func init() {
println("init 函数被调用")
}
func main() {
println("main 函数被调用")
}执行规则
包级变量初始化:程序启动时,首先初始化所有被导入包的包级变量(全局变量)
init 函数执行:包级变量初始化完成后,执行该包的 init 函数(一个包可以有多个 init 函数,按声明顺序执行)
依赖包优先:如果包 A 导入了包 B,会先完成包 B 的变量初始化和 init 函数执行,再处理包 A
main 函数执行:所有依赖包的初始化和 init 函数执行完毕后,才会执行 main 包的 init 函数,最后执行 main 函数
特殊点:
init函数不能被手动调用,也没有参数和返回值,程序自动触发执行
分隔符
在 GO 中,一行则代表着一个语句的结束,如:
go
func main() {
println("我是第一个行")
println("我是第二个行")
}如果是想要把多个语句写在同一行,则需要使用 ; 分割。如:
go
func main() {
println("我是第一个行"); println("我是第二个行")
}注释
单行注释(以 // 开头):
go
// 我是单行注释多行注释(以 /* 开头,以 */ 结尾):
go
/*
我是
多行注释
*/标识符
标识符用来命令变量和类型等程序实体。通常是由字母(A ~ Z | a ~ z)、数字(0 ~ 9)、下划线(_)组成的一个或多个字符组成的序列。
注意:对于以数字为开头或者 GO 语言关键字为标识符的为无效标识符
