在开始编码之前,我们需要先搭建好开发环境。
1.1 Go的安装 #
访问Go的官方网站 golang.org 或者国内镜像 golang.google.cn 下载适合你操作系统(Windows, macOS, Linux)的安装包。安装过程非常直接,一路点击“下一步”即可。
安装完成后,打开你的终端(命令行工具),输入以下命令来验证安装是否成功:
go version
如果能看到类似 go version go1.22.5 darwin/amd64
的输出,恭喜你,Go已经成功安装!
1.2 工作区与Go Modules #
在PHP中,你习惯了将项目代码放在任意目录。在Go的早期版本中,有一个GOPATH
的概念,强制所有代码都放在一个固定的工作区。但现在,我们有了更现代、更灵活的方案:Go Modules。
Go Modules类似于PHP的Composer
,它允许你在任何位置创建项目,并通过go.mod
文件来管理依赖。
让我们来创建第一个项目:
# 1. 创建一个项目目录,可以是你喜欢的任何位置
mkdir ~/go-projects/hello-world
cd ~/go-projects/hello-world
# 2. 初始化Go Module
# "hello-world"是我们的模块名,可以自定义
go mod init hello-world
执行后,你会看到目录下生成了一个go.mod
文件,它的内容很简单:
module hello-world
go 1.22
这个文件就相当于PHP项目中的composer.json
,它定义了模块名和Go版本。
1.3 “Hello, World!” #
现在,让我们编写第一个Go程序。在hello-world
目录下创建一个名为main.go
的文件:
// main.go
// 每个Go文件都属于一个包,可执行程序的入口必须是main包
package main
// 导入我们需要的包,fmt用于格式化输入输出
import "fmt"
// main函数是程序的入口点
func main() {
fmt.Println("Hello, World!")
}
与PHP的对比:
package main
: 类似于PHP的命名空间,但main
包有特殊含义,表示这是一个可执行程序。import "fmt"
: 类似于PHP的use
或require
,用于引入其他代码包。func main()
: 这是程序的唯一入口,类似于PHP在全局作用域下执行的代码,但Go强制要求一个明确的main
函数。
1.4 运行你的程序 #
在终端中,有几种方式可以运行这个程序:
直接运行 (
go run
):这会编译并立即执行代码,适合开发调试。go run main.go # 输出: Hello, World!
编译构建 (
go build
):这会生成一个可执行的二进制文件。go build
执行后,目录下会多出一个名为
hello-world
(在Windows上是hello-world.exe
)的文件。你可以直接运行它:./hello-world # 输出: Hello, World!
这个单一的文件就是你的整个应用,你可以把它拷贝到任何同架构的服务器上运行,无需安装任何Go环境或依赖。这就是Go部署简单的魅力所在。