确认go已正确安装并可用:1. 运行go version输出版本号(如go1.22.3 darwin/arm64);2. go env gopath应默认为$home/go;3. go env goroot应指向安装根目录(如/usr/local/go);4. 新建项目后需先go mod init再go run main.go验证运行。

怎么确认 Go 是否已正确安装并可用
装完 Go 后别急着写代码,先验证 go 命令是否进 PATH、版本是否符合预期。常见错误是下载了二进制包但没配 GOPATH 或 GOROOT,或者 macOS 用户用 Homebrew 装完却忘了重启终端。
- 运行
go version,输出应类似go version go1.22.3 darwin/arm64 - 运行
go env GOPATH,首次使用时会自动设为$HOME/go(Windows 是%USERPROFILE%\go),不建议手动改,除非有明确多工作区需求 - 运行
go env GOROOT,应指向你解压或安装 Go 的根目录,比如/usr/local/go;若为空或错位,说明安装不完整
用 go mod 初始化项目时为什么总报 “cannot find module”
Go 1.16+ 默认启用模块模式,但很多人直接在任意目录下敲 go run main.go 却忘了先初始化模块——此时 Go 会尝试从当前路径向上找 go.mod,找不到就报错或降级到老式 GOPATH 模式(已弃用)。
Go语言(Golang)1.26.0版本提供 Go 官方 Windows amd64 MSI 安装包下载入口,版本号 1.26.0,可用于旧项目维护、兼容性测试和指定版本开发环境配置。
- 新建项目目录后,第一件事是运行
go mod init example.com/hello(模块名可任意,但建议用类域名格式,避免未来导入冲突) -
go.mod生成后,go run main.go才能正确解析依赖和构建上下文 - 如果已有
go.mod但go run仍报错,检查当前终端是否在该模块根目录下(即go.mod所在路径)
写 Hello World 时 main.go 文件结构不能错哪几处
Go 对包声明、函数签名、大写导出规则非常严格,一个字母错就编译不过,不像脚本语言能“凑合跑”。最常踩的坑不是逻辑,而是语法骨架不完整。
- 第一行必须是
package main,不能是package hello或留空 - 必须定义
func main(),且不能带参数、不能有返回值(即不能写成func main() int) -
fmt包必须显式导入:import "fmt",不能省略,也不能写成import fmt - 字符串字面量必须用双引号,
fmt.Println('Hello World')会报错:单引号是 rune 字面量
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
go run 和 go build 的区别直接影响调试节奏
新手容易把 go run 当成“运行脚本”,其实它每次都会重新编译并执行,适合快速验证;而 go build 生成可执行文件,适合部署或反复运行。但两者对模块路径、CGO、平台交叉编译的支持差异很大,初期不注意会导致本地能跑、打包失败。
-
go run main.go只编译当前文件,不生成产物;go run .才按模块加载全部main包文件 -
go build -o hello生成的二进制默认静态链接,无需额外依赖,但 Windows 下若用了系统 API 可能隐式依赖 DLL - 跨平台编译要提前设环境变量,比如 Mac 上编译 Linux 版:先
GOOS=linux GOARCH=amd64 go build -o hello-linux,不能靠go run模拟
go mod init 和 package main 这两步漏掉任何一环,后面所有操作都会偏离正轨。真正卡住人的往往不是语法,而是模块路径和包结构这些看不见的约束。golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










