初学者应直接安装Go官方二进制包而非使用包管理器:macOS/Linux下载tar.gz解压至/usr/local,Windows用MSI安装;启用Go Modules默认无需GOPATH;VS Code只需安装官方Go扩展并配置GOPROXY;首个程序用fmt和os.Args验证环境。

直接装 Go 官方二进制包,别碰包管理器
初学者在 macOS 或 Linux 上最稳妥的方式,就是去 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载对应系统的 go1.xx.x.darwin-arm64.tar.gz(Apple Silicon)或 go1.xx.x.linux-amd64.tar.gz(x86_64),解压到 /usr/local。Windows 用户下载 go1.xx.x.windows-amd64.msi 直接双击安装即可。
不推荐用 homebrew install go 或 apt install golang,因为系统包管理器里的 Go 版本往往滞后,且路径、环境变量行为不一致,容易和后续教程对不上。
-
sudo tar -C /usr/local -xzf go*.tar.gz(macOS/Linux) - 确保
/usr/local/go/bin已加入$PATH(检查:运行go version能输出版本) - Windows 安装 MSI 后无需手动配
PATH,安装器已处理
不用 GOPATH,启用 Go Modules 是默认行为
Go 1.16+ 默认开启 GO111MODULE=on,意味着新建项目时不需要预先设置 GOPATH,也不用把代码放到 $GOPATH/src 下。这是初学者最容易卡住的一点——很多老教程还在讲 mkdir -p $GOPATH/src/hello,现在完全没必要。
只要你在任意目录下执行:
立即学习“go语言免费学习笔记(深入)”;
mkdir hello && cd hello go mod init hello
就生成了一个合法的模块,go run main.go 就能跑起来。模块名(如 hello)只是逻辑标识,不要求是域名或远程路径。
mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提
- 模块名不影响编译或运行,只用于
import语句引用本地包 - 如果之后要发布到 GitHub,再改成
github.com/yourname/hello即可,当前阶段用啥都行 - 删掉
go.mod和go.sum就等于退回到无模块状态,但没必要倒退
编辑器只装一个插件:gopls
VS Code 是初学者最友好的选择,但只需安装官方扩展 Go(作者:golang),它会自动下载并管理 gopls(Go Language Server)。别手动装 go-outline、go-imports 这类已废弃的插件。
安装后重启 VS Code,打开一个 .go 文件,底部状态栏应显示 gopls (running)。如果卡在 loading...,大概率是代理问题——国内用户需配置:
go env -w GOPROXY=https://goproxy.cn,direct
-
gopls提供代码补全、跳转、格式化(Ctrl+Shift+I)、保存自动go fmt等核心能力 - 不要手动运行
go get golang.org/x/tools/gopls,新版扩展已内置下载逻辑 - 如果提示 “command ‘gopls’ not found”,说明
PATH没生效,重启终端或 VS Code
第一个程序别写 web,先验证 fmt 和 os.Args
绕过所有框架、模板、net/http,用最基础的输入输出确认环境真正可用。很多“环境没搭好”的问题,其实是代码写错或没保存导致的。
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("Hello, world!")
fmt.Printf("Args: %v\n", os.Args)
}
保存为 main.go,终端执行:
go run main.go hello world
应输出:
Hello, world! Args: [main.go hello world]
- 确保文件名是
main.go,且包名是main,否则go run会报no Go files in current directory - 别用中文路径或含空格路径,
go run对这类路径支持不稳定 - 如果看到
cannot find package "fmt",说明GOROOT错了,检查go env GOROOT是否指向/usr/local/go(macOS/Linux)或C:\Go(Windows)
go run 打印出 “Hello” 这件事闭环,比任何“完整开发流”都重要。









