第一个 Go 程序

安装

在官方网站选择相应平台的安装包下载安装即可。 地址: Downloads - The Go Programming Language

以下基于 Mac  OS ,我选择使用 Homebrew 进行安装

brew install go复制代码

安装完成查看 Go 版本

go version复制代码

环境变量设置

GOPATH:代表 Go 语言项目的工作目录,在 Go Module 模式之前非常重要,现在基本上用来存放使用 go get 命令获取的项目。

GOBIN:代表 Go 编译生成的程序的安装目录,通过 go install  命令,会把生成的 Go 程序安装到 GOBIN 目录下,以供你在终端使用。如果此环境变量未指定,go 命令将使用 $GOPATH/bin 目录来存储这些可执行文件。 此目录的路径需配置在PATH环境变量中,以便从任意目录运行这些可执行文件。

在 $HOME/.zshrc 里添加如下命令

export GOPATH=/Users/$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN复制代码

Go Module

官方在 GO 1.11 中加入了 Go Module 作为官方包管理形式 ,在 GO 1.13 默认开启。 手动设置开启

go env -w GO111MODULE=on复制代码

开启代理,防止 go get 下载包失败,可设置多个,按顺序优先下载。如果失败,direct 表示从仓库的的源地址下载(Go 1.13启用direct)

go env -w GOPROXY=https://goproxy.cn,direct复制代码

第一个 Go 程序

Hello World

我们使用 Go Module 模式,项目放在任意目录都可以。在系统任意目录下创建一个目录 hello,在该目录中创建一个 helloworld.go 文件:

package mainimport "fmt"func main() {
	fmt.Println("Hello World")
}复制代码

go run 编译并运行,输出 Hello World

go run helloworld.go复制代码

go build 编译成可执行文件,在hello 目录执行,生成 helloworld 文件

go build helloworld.go复制代码

执行

./helloworld复制代码

go install  编译安装,在hello 目录执行,在 $GOBIN 目录生成 helloworld 文件

go install helloworld.go复制代码

执行,$GOBIN  已经添加到 PATH,直接在命令行执行

helloworld复制代码

程序结构

Go 通过包(package)来组织,一个包由位于单个目录下的一个或者多个go文件组成。

每个文件都以一条package声明语句开始,紧跟着一系列导入(import)的包,之后是程序语句

main包定义了一个独立可执行的程序,而不是一个库。在main里的 main 函数 是整个程序执行时的入口。