Go语言的第一行代码
前一篇文章我们介绍了为什么要学习Go语言,本篇文章我们来编写Go语言的第一行代码。
在编写代码之前,我们首先需要安装Go语言的开发环境,可以从谷歌国内的官方网站golang.google.cn/dl/下载安装包,根据你使用的操作系统下载对应的安装包。前一篇文章提到过Go语言是跨平台的,所以Go语言各个平台有不同的安装包,一定要看好你使用的操作系统,而且同一个平台根据CPU型号的不同又分为386、amd64、arm架构。
使用windows系统的同学建议下载后缀为msi的安装程序,不建议没有经验的同学下载zip包,zip包不需要安装,但是需要手动配置环境变量,可以根据自己的喜好选择下载。
使用mac系统的同学除了可以下载安装程序包以外,还可以使用mac系统的软件包管理器brew下载,使用brew来安装Go比较简单,执行如下命令即可
brew install go
使用linux发行版的同学,由于linux发行版本较多,不同的发行版包管理器不同,可以根据自己使用的发行版自带包管理器来安装下载。
Go语言编译器安装好后,在命令行
输入以下命令
go version
如果正常输出Go语言版本,如下面mac系统输出
go version go1.21.0 darwin/amd64
说明安装成功。
接下来我们来开始编写Go语言的第一行代码。
新建文件夹hello,进入文件夹hello,执行如下命令:
go mod init example/hello
会创建go.mod文件,go.mod是golang管理依赖的工具后面会具体介绍。
创建一个文件hello.go,输入以下代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
让我们来看一下每个部分的含义:
package main:这是一个包声明,它告诉编译器这个文件属于main包。
import “fmt”:这是一个导入语句,它导入了fmt包,该包提供了格式化输入输出的函数。
func main():这是程序的入口函数,它是程序执行的起点。
fmt.Println(“Hello, World!"):这是一个函数调用,它调用了fmt包中的Println函数,并传递了一个字符串参数"Hello, World!"。Println函数会将该字符串打印到标准输出。
所以,这段代码的作用是在控制台输出"Hello, World!"。
执行以下命令运行程序,
go run hello.go
可以看到输出结果
Hello, World!
至此,Go语言的第一个程序就完成了。
用go run命令可以直接运行程序,类似动态语言如python,一般Go语言都是编译之后在执行。我们可以使用go build hello.go命令编译程序,之后会生成一个可执行程序。
我们可以看到生成了一个可执行的程序,在macOS上大小是1.9M,这个简单的Hello, World!的程序大小和C语言相比的确是太大了。go build编译默认包含调试信息和符号表信息,我们可以添加标识去掉这些信息,可以使用如下命令编译
go build -ldflags "-w -s" hello.go
执行之后我们可以看到生成的文件大小变为了1.3M。
由于Go语言在生成可执行文件时包含了运行时,所以Go语言生成的可执行文件相比C语言的程序是比较大的,C语言Hello, World!程序的大小是49k。
Go语言的第一行代码就介绍到这里!