本教程现已过时。请访问 https://golangbot.com/hello-world-gomod/ 获取更新的版本。
这是 Golang 教程系列中的第二篇教程。请阅读 Golang 教程第 1 部分:介绍和安装,了解什么是 Golang 以及如何安装 Golang。
学习编程语言最好的方法莫过于动手写代码。让我们继续写我们的第一个 go 程序。
我个人建议使用装有 go 扩展 的 Visual Studio Code 代码作为IDE。它具有自动补全、代码样式和许多其他功能。
设置 go 工作区
在开始编写代码之前,我们必须设置 go 工作区。
对于 Mac 或 Linux,go 工作区应位于 $HOME/go 中。所以让我们在 $HOME 里创建一个 go 目录。
对于 Windows,工作空间应位于 C:\Users\YourName\go 中。因此,让我们在 C:\Users\YourName 中创建 go 目录。
可以通过设置 GOPATH 环境变量来使用不同的目录作为工作空间。但现在为了简单起见,我们还是使用上面的目录。
所有 go 的源文件都应该位于工作空间内一个名为 src 的目录中。因此,让我们在上面创建的 go 目录下创建 src 目录。
每个 go 项目又应该在 src 里面有自己的子目录。让我们在 src 里面创建一个 hello 目录来存放 hello world 项目。
创建上述目录后,目录结构应如下所示。
go
src
hello
在我们刚刚创建的 hello 目录中将以下程序保存为 helloworld.go。
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
下面是创建上述程序后目录结构的样子
go
src
hello
helloworld.go
运行Go程序
运行go程序有几种不同的方法。让我们一个一个来看。
- 在命令提示符中使用命令 go run -
go run workspacepath/src/hello/helloworld.go
上面命令中的 **workspacepath **应该替换为工作空间的路径(在 windows 中是<br />** C:/Users/YourName/go**,在 Linux 或 Mac 中应该是 **$HOME/go**)
你应该能在控制台中看到 `Hello World` 输出。
- 使用go install命令 - 运行
go install hello
命令,然后运行workspacepath/bin/hello
来运行程序。
上述命令中的 **workspacepath **应替换为工作空间的路径。(在 windows 中是 **C:/Users/YourName/go,**在 Linux 或 Mac 应该是 **$HOME/go**)。 你应该在命 令行中能看到相同的 Hello World 输出。
当你输入 **go install hello**,go 工具在工作区内搜索 hello 包(hello 被称为包,我 们稍后会详细介绍一下包)。然后它在工作空间的bin目录中创建一个名为`hello`<br /> 的二进制文件(在windows的情况下是 `hello.exe`)。
运行 **go install hello **后,目录结构如下所示
go
bin
hello
src
hello
helloworld.go
- 运行程序的第三种方法是使用 go playground。虽然有一些限制,但是当我们想要运行简单的程序时,这个方法很有用。我为 hello world 项目创建了一个playground。点击这里在线运行程序。
你可以使用 go playground 与他人共享源代码。
hello world 程序的简要说明
这是我们刚刚编写的 hello world 程序
package main //1
import "fmt" //2
func main() { //3
fmt.Println("Hello World") //4
}
在这里,我们将看到程序的每一行都做了些什么。在接下来的教程中,我们将深入讨论每个部分。
package main - 每个 go 文件必须以 package name
语句开头。包用于提供代码划分和复用性。这里使用的包名是 main
。
import “fmt” **- 导入 fmt 包,它将在 main 函数里用于将文本打印到标准输出。
func main() - main 是一个特殊的函数。程序执行从 main 函数开始。main 函数应始终位于 main 包中。 “{“ 和 “}”表示 main 函数的开始和结束。
fmt.Println(“Hello World”) - fmt 包的 Pr**intln **函数用于将文本写入标准输出。
代码可以从 github 下载。
现在,你可以继续学习 Golang 教程第 3 部分:变量来了解 Golang 中的变量。