go 环境无需手动配置 gopath,安装后执行 go version 验证;若失败需检查 path 是否包含 go 安装路径(windows 为 c:\go\bin,macos/linux 为 /usr/local/go/bin);go mod init 初始化模块,go run 运行 main.go,go build 编译为独立可执行文件。

Go 环境现在基本不用手动配 GOPATH,直接装好 Go 就能写代码、go run 运行,现代项目默认走 go mod。
验证 go 是否已安装并可用
别急着新建文件夹或改环境变量,先看终端里 go 命令能不能用:
- 打开终端(Windows 用 PowerShell 或 CMD,macOS/Linux 用 Terminal)
- 执行
go version—— 如果输出类似go version go1.22.5 darwin/arm64,说明安装成功 - 如果报错
command not found或'go' is not recognized,说明PATH没生效,得回头检查安装路径是否加进了系统PATH(Windows 是C:\Go\bin,macOS/Linux 一般是/usr/local/go/bin) - 顺手跑一下
go env GOPATH,新版本默认会设一个隐式 GOPATH(比如$HOME/go),但你几乎不需要碰它
用 go mod init 初始化一个现代 Go 项目
Go 1.11+ 默认启用 modules,不再强制要求代码必须放在 GOPATH/src 下。你现在可以随便建目录,比如:
mkdir hello-go && cd hello-go
然后执行:
go mod init hello-go
这会在当前目录生成 go.mod 文件,内容类似:
module hello-go<br>go 1.22
注意:hello-go 是模块名,不一定要和文件夹名一致,但建议保持一致,避免后续 import 路径出错;模块名不能含大写字母或空格,否则 go build 会报错 invalid module path。
写个 main.go 并用 go run 直接运行
在项目根目录下新建 main.go,内容如下:
package main<br><br>import "fmt"<br><br>func main() {<br> fmt.Println("Hello, Go!")<br>}
保存后,执行:
go run main.go
你会立刻看到输出:Hello, Go!。这个命令做了三件事:编译、运行、清理临时文件。它不生成可执行文件,适合快速验证逻辑。
容易踩的坑:
- 文件名必须是
.go后缀,且包名必须为main -
main()函数必须在main包里,否则go run会报no main package in - 如果用了第三方包(比如
github.com/sirupsen/logrus),go run会自动下载并记录到go.mod,但首次可能稍慢(取决于代理设置)
用 go build 编译成独立可执行文件
想打包发给别人或部署到服务器?执行:
go build -o hello main.go
就会生成一个叫 hello(Windows 下是 hello.exe)的二进制文件。它不依赖 Go 环境,直接双击或 ./hello 就能运行。
关键点:
-
-o参数指定输出名,不加的话默认生成main(Linux/macOS)或main.exe(Windows) - 跨平台编译要显式设
GOOS和GOARCH,比如GOOS=windows GOARCH=amd64 go build -o hello.exe main.go - 生成的二进制默认静态链接,体积略大但免依赖——这点和 Python/Node.js 完全不同,也是 Go 部署最省心的地方
最后提醒一句:别再纠结 GOPATH 目录结构了,go mod 时代,项目根目录就是一切起点。真正容易被忽略的是模块名命名规则和跨平台编译时的 GOOS/GOARCH 设置,出问题时先查这两个。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











