Hello World
建立 Go 工作区
在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。
在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 (HOME/go*。所以我们要在 *)HOME 目录下创建 go 目录。
而在 Windows 下,工作区应该设置在 C:UsersYourNamego。所以请将 go 目录放置在 C:UsersYourName。
其实也可以通过设置 GOPATH 环境变量,用其他目录来作为工作区。但为了简单起见,我们采用上面提到的放置方法。
所有 Go 源文件都应该放置在工作区里的 src 目录下。请在刚添加的 go(GOPATH) 目录下面创建目录 src。
所有 Go 项目都应该依次在 src 里面设置自己的子目录。我们在 src 里面创建一个目录 hello 来放置整个 hello world 项目。
创建上述目录之后,其目录结构如下:
go
src
hello


在我们刚刚创建的 hello 目录下,在 helloworld.go 文件里保存下面的程序。
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
创建该程序之后,其目录结构如下:
go
src
hello
helloworld.go
运行 Go 程序
运行 Go 程序有多种方式,我们下面依次介绍。
1.使用 go run 命令 - 在命令提示符旁,输入 go run workspacepath/src/hello/helloworld.go。
上述命令中的 workspacepath 应该替换为你自己的工作区路径(Windows 下的 C:/Users/YourName/go,Linux 或 Mac 下的 $HOME/go)。
在控制台上会看见 Hello World 的输出。
2.使用 go install 命令 - 运行 go install hello,接着可以用 workspacepath/bin/hello 来运行该程序。
上述命令中的 workspacepath 应该替换为你自己的工作区路径(Windows 下的 C:/Users/YourName/go,Linux 或 Mac 下的 $HOME/go)。
当你输入 go install hello 时,go 工具会在工作区中搜索 hello 包(hello 称之为包,我们后面会更加详细地讨论包)。接下来它会在工作区的 bin 目录下,创建一个名为 hello(Windows 下名为 hello.exe)的二进制文件。运行 go install hello 后,其目录结构如下所示:
go
bin
hello
src
hello
helloworld.go
3.第 3 种运行程序的好方法是使用 go playground。尽管它有自身的限制,但该方法对于运行简单的程序非常方便。我已经在 playground 上创建了一个 hello world 程序。
go module创建hello word
在桌面创建一个hello目录。
go mod init
使用go module模式新建项目时,我们需要通过go mod init 项目名命令对项目进行初始化,该命令会在项目根目录下生成go.mod文件。例如,我们使用hello作为我们第一个Go项目的名称,执行如下命令。
go mod init hello
编写代码
接下来在该目录中创建一个main.go文件:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
非常重要!!! 如果此时VS Code右下角弹出提示让你安装插件,务必点 install all 进行安装。
编译
go build命令表示将源代码编译成可执行文件。
在hello目录下执行:
go build
go run main.go也可以执行程序,该命令本质上也是先编译再执行。
go install表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH的bin目录下。因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。
或者在其他目录执行以下命令:
go build hello
go编译器会去 GOPATH的src目录下查找你要编译的hello项目
编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe可执行文件。
可在终端直接执行该hello.exe文件:
c:desktophello>hello.exe
Hello World!
我们还可以使用-o参数来指定编译后得到的可执行文件的名字。
go build -o heiheihei.exe
简述 hello world 程序
下面就是我们刚写下的 hello world 程序。
package main //1
import "fmt" //2
func main() { //3
fmt.Println("Hello World") //4
}
现在简单介绍每一行大概都做了些什么,在以后的教程中还会深入探讨每个部分。
package main :每一个 Go 文件都应该在开头进行 package name 的声明(译注:只有可执行程序的包名应当为 main)。包(Packages)用于代码的封装与重用,这里的包名称是main。
**import "fmt": ** - 我们引入了 fmt 包,用于在 main 函数里面打印文本到标准输出。
func main(): ** - main 是一个特殊的函数。整个程序就是从 main 函数开始运行的。main 函数必须放置在 main 包中**。{ 和 } 分别表示 main 函数的开始和结束部分。
**fmt.Println("Hello World"): ** - fmt 包中的 Println 函数用于把文本写入标准输出。