创建第一个Go程序
新建一个 helloworld.go
文件,写入以下程序
package main
import (
"fmt"
)
// 一个函数声明
/*
一个main函数声明
*/
func main() {
fmt.Println("Hello, 世界")
}
运行程序
go run helloworld.go
输出
Hello, 世界
仅需几行代码就能创建一个Go程序
Go语言原生支持 Unicode
,它可以处理全世界任何语言的文本。
如果你想要保存编译结果以备将来之用,可以用 build
子命令。
go build helloworld.go
这个命令会生成一个名为 helloworld
的可执行二进制文件,之后可以随时运行它,不需要任何处理。
$ ./helloworld
Hello, 世界
程序详解
package 创建包
Go语言以包作为管理单位,每一个源文件都必须先声明它的所属包,所以每个Go的源文件都会以一个 package
声明一个包名称。 package main
就是声明了一个 main
包。包类似其他语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个 .go
源文件组成,目录定义包的作用。
Go的标准库提供了100多个包,以支持常见功能,如输入、输出、排序以及文本处理。比 如 fmt
包,就含有格式化输出、接收输入的函数。 Println
是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。
main
包比较特殊。它定义了一个独立可执行的程序,而不是一个库。
import 导入包
在包声明之后使用 import
导入到需要的地方,import fmt
导入了一个Go语言内置提供的 fmt
包 。 如果需要导入多个包,就在括号内加入多个包的名称,每一行代表一个包。
必须恰当导入需要的包,缺少了必要的包或者导入了不需要的包,程序都无法编译通过。这项严格要求避免了程序开发过程中引入未使用的包。
main 函数
它是Go语言的入口,程序在启动时候第一个执行的函数。 main
函数只能声明在 main
包中。
一个函数的声明由 func
关键字、函数名、参数列表、返回值列表(这个例子里的 main
函数 参数列表和返回值都是空的)以及包含在大括号里的函数体组成。
Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会 主动把特定符号后的换行符转换为分号, 因此换行符添加的位置会影响Go代码的正确解析。举个例子, 函数的左括号 { 必须和 func 函数声明在同一行上, 且位于末尾,不能独占 一行,而在表达式 x + y
中,可在 +
后换行,不能在 +
前换行。
Go语言在代码格式上采取了很强硬的态度。
注释
Go使用 //
来起始一个行注释,使用一个 /*
和 */
对来包裹一个块注释。