本文介绍在 Mac 上安装 Go 的完整流程,包括环境变量配置、VSCode 开发环境搭建、调试器配置、常用快捷键以及常见问题的处理。

一、在Mac电脑安装Go —— 使用官方安装包

1. 下载安装包

访问Go官方下载页面:https://go.dev/dl/

根据Mac芯片选择对应版本:

  • Apple Silicon (M1/M2/M3等):选择 go1.xx.x.darwin-arm64.pkg
  • Intel芯片:选择 go1.xx.x.darwin-amd64.pkg

2. 安装

双击下载的 .pkg 文件,按照提示完成安装。Go默认会被安装到 /usr/local/go 目录。

3. 配置环境变量

安装完成后,需要配置环境变量以便系统识别Go命令。

第一步:打开配置文件

  • 如果你用的是 macOS Catalina及更新版本,默认shell为Zsh,在终端中运行:

    nano ~/.zshrc
    
  • 如果你用的是 更早的macOS版本,默认shell为Bash,运行:

    nano ~/.bash_profile
    

第二步:添加配置

在打开的文件末尾添加以下内容:

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

第三步:保存并生效

  • nano 编辑器中,按 Ctrl+O 保存,按回车确认,再按 Ctrl+X 退出
  • 运行以下命令使配置立即生效:
source ~/.zshrc
# 或
source ~/.bash_profile

4. 验证安装

打开新的终端窗口,输入以下命令验证是否安装成功:

go version

如果看到类似 go version go1.xx.x darwin/arm64 的输出,就说明安装成功了。


二、使用VSCode进行Go开发和调试

1. 确认 Go 扩展是否已安装

  • 打开 VSCode。
  • 点击左侧 扩展 图标(或按 Cmd+Shift+X)。
  • 搜索 “Go”,如果看到 “Go” 扩展(作者 Go Team at Google)显示为 “已安装”,则跳过;否则点击 安装

2. 检查 Go 工具链(dlvgopls)是否已就绪

  • 打开 终端,依次执行以下两条命令:

    dlv version
    gopls version
    
  • 如果两条命令都输出版本号(如 Delve Debugger Version 1.22.0golang.org/x/tools/gopls v0.14.2),说明工具已装好,直接跳到第4步

  • 如果任一条提示 command not found,则进入第3步。

3. 手动安装 Go 工具(推荐,可避免网络超时问题)

说明:VSCode 的 Go: Install/Update Tools 命令可能会因为网络问题导致安装超时(尤其是访问 proxy.golang.org 时)。如果遇到这种情况,推荐直接在终端手动安装。

第一步:配置国内代理(可选,加速下载)

go env -w GOPROXY=https://goproxy.cn,direct

第二步:手动安装所需工具

在终端中依次执行以下命令:

# 安装 gopls(Go 语言服务器,提供代码补全、导航等功能)
go install -v golang.org/x/tools/gopls@latest

# 安装 dlv(Delve 调试器)
go install -v github.com/go-delve/delve/cmd/dlv@latest

# 安装 impl(接口实现生成工具)
go install -v github.com/josharian/impl@latest

# 安装 goplay(Go Playground 本地运行工具)
go install -v github.com/haya14busa/goplay/cmd/goplay@latest

第三步:验证安装成功

安装完成后,在终端执行以下命令确认:

dlv version
gopls version

如果都能正常输出版本信息,说明工具安装成功。

4. 配置环境变量并重启 VSCode

手动安装的工具位于 ~/go/bin 目录,需要确保该目录在系统 PATH 中,VSCode 才能识别。

第一步:检查并配置 PATH

打开终端,执行:

echo $PATH

如果输出中没有包含 /Users/你的用户名/go/bin,则需要将其添加到配置文件中:

echo 'export PATH=$PATH:~/go/bin' >> ~/.zshrc
source ~/.zshrc

第二步:完全重启 VSCode

务必完全退出 VSCode(按 Cmd+Q),然后重新打开。这一步非常关键,目的是让 VSCode 的语言服务器重新加载系统环境变量,从而识别新安装的 goplsdlv

5. 准备 Go 项目

创建一个项目目录并初始化 Go 模块:

# 进入项目目录(根据你的实际路径调整)
cd ~/go-playground

# 初始化 Go 模块
go mod init go-playground

创建 main.go 文件:

package main

import "fmt"

func main() {
    fmt.Println("Hello, VSCode 调试成功!")
}

6. 配置 VSCode 调试器(launch.json

  • 在 VSCode 中点击左侧 “运行和调试” 图标(或按 Cmd+Shift+D)。

  • 点击 “创建 launch.json 文件” → 选择环境 “Go”

  • 将自动生成的配置替换为以下内容:

    {
        // VSCode 调试配置文件版本,保持 0.2.0 即可
        "version": "0.2.0",
        // 可配置多个调试方案,在下拉菜单中切换
        "configurations": [
            {
                // 调试任务名称,显示在调试下拉菜单中
                "name": "Launch Playground",
    
                // 调试器类型,Go 项目固定为 "go"
                "type": "go",
    
                // "launch":启动新程序调试 / "attach":附加到已运行进程
                "request": "launch",
    
                // "auto":自动选择模式,最通用,保持默认即可
                "mode": "auto",
    
                // 程序入口路径,${workspaceFolder} 表示项目根目录
                // 如果 main.go 在子目录,改为 "${workspaceFolder}/子目录名"
                "program": "${workspaceFolder}",
    
                // 输出终端:integratedTerminal 是 VSCode 内置终端
                // 如需交互输入(如 fmt.Scanln),必须用这个
                "console": "integratedTerminal"
            }
        ]
    }
    

额外说明

  • ${workspaceFolder}:VSCode 内置变量,指向当前打开的项目文件夹,在不同电脑上无需修改路径。
  • console: "integratedTerminal":推荐保持这个设置,调试时可以正常接收键盘输入。

7. Mac 代码签名(仅首次调试需要)

说明:绝大多数 Mac 环境在调试时不会遇到此问题,如果你能正常按 F5 调试,请跳过此步骤。只有当你看到类似 could not attach to process 的错误时,才需要执行下面的签名操作。

如果在按下 F5 调试时出现 could not attach to process 错误,说明需要对 Delve 进行代码签名。这是 Mac 系统的安全机制要求。

签名步骤(只需做一次):

  1. 打开 “钥匙串访问”(启动台 → 其他)。

  2. 菜单栏点击 “证书助理”“创建证书”

    • 名称:输入 dlv-cert
    • 身份类型:自签名根证书
    • 证书类型:代码签名
    • 勾选 “让我覆盖这些默认值”,一路点击"继续",有效期建议改为 3650 天
  3. 在左侧 “登录” 钥匙串中找到 dlv-cert双击它。

  4. 展开 “信任” 部分,将 “代码签名” 下拉菜单改为 “始终信任”,关闭窗口(需输入 Mac 开机密码授权)。

  5. 打开终端,执行签名命令:

    sudo codesign -s dlv-cert ~/go/bin/dlv
    

签名完成后,再次按 F5 即可正常调试。

8. 开始调试

  • main.gofmt.Println(...) 行号左侧单击,设置一个红色断点
  • F5 键(或点击绿色启动按钮)。

程序将启动并停在断点处,左侧会出现变量面板,顶部显示调试工具栏(继续、单步跳过、单步进入等),终端中可以看到最终输出。

常见问题速查

现象 解决办法
F5 后提示 command not found: dlv 执行第3步手动安装工具,并确认第4步 PATH 配置正确后重启 VSCode
F5 后提示 could not attach to process 执行第7步代码签名
VSCode 内安装工具时报 i/o timeout 在终端执行 go env -w GOPROXY=https://goproxy.cn,direct 后,改用第3步手动安装
代码无高亮、无自动补全 确认 gopls 已安装,并按 Cmd+Q 完全重启 VSCode
调试时终端无输出 检查 launch.jsonconsole 是否为 "integratedTerminal"

三、VSCode 常用快捷键(Mac 版)

代码跳转

操作 快捷键 说明
跳转到定义 F12Cmd + 单击 跳转到函数、变量、类型等的定义处
返回上一位置 Ctrl + -(减号) 跳转后返回之前光标所在的位置
前进到下一位置 Ctrl + Shift + - 与“返回”配合,在跳转历史中前进
查看定义(预览) Option + F12 在当前窗口弹出定义预览,不跳转

编辑操作

操作 快捷键 说明
删除当前行 Cmd + Shift + K 删除光标所在的整行
剪切当前行 Cmd + X(未选中内容时) 剪切整行,可当作删除用
删除到行尾 Ctrl + K 从光标位置删除到行尾

补充说明

  • Ctrl + - 中的 - 是键盘上 0 右边的减号键,不是数字键盘的减号。
  • 如果快捷键与其他软件冲突,可以自定义:Cmd + Shift + P → 输入 Preferences: Open Keyboard Shortcuts → 搜索对应命令并修改。

更多推荐