← 返回目录

第一章:环境安装

安装 Go 1.24,配置开发环境

1. 安装 Go 1.24

Go 1.24 是当前最新的稳定版本。Go 的安装非常简洁,下载单个二进制包即可,无需额外运行时。

macOS(Homebrew)

# 使用 Homebrew 安装
brew install go

# 确认版本
go version
# go version go1.24.0 darwin/arm64

Ubuntu / Debian

从官网下载 tar.gz 解压到 /usr/local

# 下载并解压
wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz

# 添加到 PATH(写入 ~/.bashrc 或 ~/.zshrc)
export PATH=$PATH:/usr/local/go/bin

# 验证
go version

Windows

# 方式一:使用 Scoop(推荐)
scoop install go

# 方式二:下载 MSI 安装包
# 从 https://go.dev/dl/ 下载 go1.24.0.windows-amd64.msi
# 双击安装,自动配置 PATH

# 验证
go version

验证安装

$ go version
go version go1.24.0 darwin/arm64

$ go env GOPATH
/Users/yourname/go

$ go env GOROOT
/usr/local/go

🔄 版本检查对比

Python 用 python3 --version,Node.js 用 node -v,Java 用 java --version。Go 用 go version,编译型语言但安装极其简洁。

2. GOPATH 与 Go Modules

Go Modules 是 Go 1.11+ 引入的现代依赖管理方式,已完全取代旧的 GOPATH 模式。每个项目都有独立的 go.mod 文件管理依赖。

初始化模块

# 创建项目目录
mkdir myproject && cd myproject

# 初始化 Go Module
go mod init myproject
# 或使用完整模块路径(推荐)
go mod init github.com/yourname/myproject

这会生成 go.mod 文件:

module github.com/yourname/myproject

go 1.24

添加依赖

# 添加依赖(自动下载并更新 go.mod)
go get github.com/gin-gonic/gin

# 整理依赖(移除未使用的、添加缺失的)
go mod tidy

# 下载所有依赖到本地缓存
go mod download

添加依赖后,go.mod 会自动更新:

module github.com/yourname/myproject

go 1.24

require (
    github.com/gin-gonic/gin v1.10.0
)

提示:go.sum 文件记录依赖的校验和,确保构建的可重复性。两个文件都应该提交到版本控制。

🔄 依赖管理对比

语言 工具 配置文件 锁文件
Go Go Modules go.mod go.sum
Node.js npm package.json package-lock.json
PHP Composer composer.json composer.lock
Python pip requirements.txt

3. Hello World

Go 程序从 main 包的 main() 函数开始执行。创建 main.go

package main

import "fmt"

func main() {
    name := "Go"
    version := 1.24

    fmt.Printf("Hello, %s %.2f!\n", name, version)

    features := []string{"goroutine", "channel", "接口", "泛型"}
    fmt.Println("Go 核心特性:")
    for i, f := range features {
        fmt.Printf("  %d. %s\n", i+1, f)
    }

    fmt.Println(greet("Go 开发者"))
}

func greet(who string) string {
    return "欢迎学习 " + who + "!"
}

运行与编译:

# 直接运行(编译 + 执行,不生成二进制文件)
$ go run main.go
Hello, Go 1.24!
Go 核心特性:
  1. goroutine
  2. channel
  3. 接口
  4. 泛型
欢迎学习 Go 开发者!

# 编译为二进制文件
$ go build -o myapp main.go
$ ./myapp

# 安装到 $GOPATH/bin
$ go install

Go 的特点:

  • := 短变量声明,自动推断类型
  • • 未使用的变量和导入会导致编译错误
  • • 函数名首字母大写表示导出(公开),小写表示私有
  • • 编译速度极快,生成静态链接的单一二进制文件

🔄 运行方式对比

Go go run main.gogo build && ./app
Python python main.py
Node.js node main.js
Java javac Main.java && java Main

Go 是编译型语言,但 go run 让开发体验接近脚本语言。编译产物是无依赖的静态二进制文件。

4. VS Code 配置

VS Code 是 Go 开发最主流的编辑器。官方 Go 扩展提供了完整的 IDE 体验。

🧠

Go 扩展

Google 官方 Go 扩展,集成 gopls 语言服务器,提供智能补全、跳转定义、重构等。

golang.go
🔍

gopls

Go 官方语言服务器,提供代码分析、自动补全、错误检查、代码导航等功能。

go install golang.org/x/tools/gopls@latest
🐛

Delve 调试器

Go 专用调试器,支持断点调试、变量查看、goroutine 调试等。

go install github.com/go-delve/delve/cmd/dlv@latest

推荐在项目中添加 .vscode/settings.json

{
    "go.useLanguageServer": true,
    "go.lintOnSave": "package",
    "go.lintTool": "golangci-lint",
    "go.formatTool": "goimports",
    "editor.formatOnSave": true,
    "[go]": {
        "editor.defaultFormatter": "golang.go",
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"
        }
    },
    "gopls": {
        "ui.semanticTokens": true,
        "ui.completion.usePlaceholders": true
    }
}

提示:安装 Go 扩展后,VS Code 会自动提示安装 gopls、dlv 等工具。点击 "Install All" 即可一键安装所有推荐工具。

5. 本章要点

🛠️ 安装 Go

macOS 用 brew install go,Ubuntu 下载 tar.gz 解压,Windows 用 Scoop 或 MSI。用 go version 验证。

📦 Go Modules

go mod init 初始化模块,go get 添加依赖,go mod tidy 整理依赖。go.mod 和 go.sum 都要提交。

🚀 运行与编译

go run 快速运行,go build 编译为二进制,产物是静态链接的单一可执行文件,无需运行时。

📝 基本语法

:= 短声明,首字母大写导出,未使用的变量/导入会编译报错,fmt 包处理格式化输出。

💻 开发工具

VS Code + 官方 Go 扩展提供完整 IDE 体验,gopls 负责智能补全,Delve 支持断点调试。

⚡ Go 特色

编译极快、静态类型、自带格式化工具 gofmt、内置并发原语、单一二进制部署。