可克达拉市网站建设_网站建设公司_在线商城_seo优化
2026/1/8 0:05:04 网站建设 项目流程

Go环境搭建与第一个程序

前言

这篇是 Go基础合集 的第一篇学习笔记,这次整理的是 Go 语言的环境搭建和第一个程序。

想学一门新语言,第一步是什么?当然是把环境搭起来!很多人卡在环境配置这一步就放弃了,其实 Go 的安装配置非常简单,比 Java 配置JAVA_HOMECLASSPATH那一套省心多了。

今天我们就从零开始,把 Go 环境搭好,跑通第一个Hello World,顺便把Go Modules也讲清楚。

🏠个人主页:山沐与山


文章目录

  • 一、Go语言简介
  • 二、环境安装
  • 三、环境变量配置
  • 四、第一个Go程序
  • 五、Go Modules详解
  • 六、常见问题
  • 七、总结

一、Go语言简介

1.1 为什么学Go?

你可能会问:编程语言这么多,为什么要学 Go?

看看这些用 Go 写的项目你就明白了:DockerKubernetesetcdPrometheus… 云原生时代的半壁江山都是 Go 打下来的。

Go 语言有几个特点让它脱颖而出:

特点说明
语法简单关键字只有25个,学习曲线平缓
编译速度快大型项目也能秒级编译
天生支持并发goroutine+channel,并发编程简单高效
静态类型编译期检查类型错误,运行时更安全
单一可执行文件编译后就一个二进制文件,部署超方便

1.2 Go的版本选择

Go 的版本命名很简单:go1.x.y,比如go1.21.5

建议:选择最新的稳定版本,目前推荐go1.21go1.22

为什么?因为 Go 团队承诺向后兼容,新版本只会更好用,不会破坏老代码。


二、环境安装

2.1 下载安装包

去官网下载:https://go.dev/dl/

根据你的操作系统选择对应版本:

操作系统文件类型示例
Windows.msigo1.21.5.windows-amd64.msi
macOS.pkggo1.21.5.darwin-amd64.pkg
Linux.tar.gzgo1.21.5.linux-amd64.tar.gz

2.2 Windows安装

下载.msi文件后双击运行,一路 Next 就行。

默认安装路径是C:\Go,建议保持默认,省得后面配置麻烦。

安装完成后,打开命令行验证:

go version

输出:

go version go1.21.5 windows/amd64

看到版本号就说明安装成功了。

2.3 macOS安装

方法一:下载.pkg安装包

双击运行,按提示安装即可,默认安装到/usr/local/go

方法二:使用 Homebrew(推荐)

brewinstallgo

验证安装:

go version

2.4 Linux安装

# 下载安装包wgethttps://go.dev/dl/go1.21.5.linux-amd64.tar.gz# 解压到 /usr/localsudotar-C /usr/local -xzf go1.21.5.linux-amd64.tar.gz# 验证/usr/local/go/bin/go version

三、环境变量配置

3.1 核心环境变量

Go 有几个重要的环境变量:

变量说明示例值
GOROOTGo 安装目录/usr/local/go
GOPATH工作目录(存放依赖、编译产物)$HOME/go
GOPROXY模块代理地址https://goproxy.cn,direct
GO111MODULE是否启用 Go Moduleson

3.2 配置步骤

Windows

右键"此电脑" → 属性 → 高级系统设置 → 环境变量,添加:

GOROOT=C:\Go GOPATH=%USERPROFILE%\go GOPROXY=https://goproxy.cn,direct

别忘了把%GOROOT%\bin加到PATH里。

macOS/Linux

编辑~/.bashrc~/.zshrc

# Go 环境变量exportGOROOT=/usr/local/goexportGOPATH=$HOME/goexportPATH=$PATH:$GOROOT/bin:$GOPATH/bin# 国内代理,下载依赖更快exportGOPROXY=https://goproxy.cn,direct

执行source ~/.bashrc使配置生效。

3.3 验证配置

goenv

这个命令会列出所有 Go 环境变量。重点检查:

goenvGOROOT goenvGOPATH goenvGOPROXY

四、第一个Go程序

4.1 创建项目

# 创建项目目录mkdirhellocdhello# 初始化模块go mod init hello

go mod init会创建一个go.mod文件,这是 Go Modules 的核心文件。

4.2 编写代码

创建main.go文件:

packagemainimport"fmt"funcmain(){fmt.Println("Hello, Go!")}

代码来自code/main.go

来分析一下这几行代码:

代码说明
package main声明包名,main包是程序入口
import "fmt"导入标准库的fmt包,用于格式化输出
func main()程序入口函数,必须在main包中
fmt.Println()打印输出并换行

4.3 运行程序

方法一:直接运行

go run main.go

输出:

Hello, Go!

方法二:编译后运行

# 编译go build -o hello# 运行./hello

两种方式的区别是什么?

命令说明适用场景
go run编译并立即运行,不生成可执行文件开发调试
go build只编译,生成可执行文件部署发布

4.4 代码结构说明

一个最简单的 Go 程序需要什么?

hello/ ├── go.mod # 模块定义文件 └── main.go # 程序入口

看到没?就两个文件,比 Java 的src/main/java/...那一套简洁多了。


五、Go Modules详解

5.1 什么是Go Modules?

Go 1.11之前,Go 的依赖管理很痛苦——所有代码都得放在GOPATH/src下面。

现在有了Go Modules,你可以在任意目录创建项目,依赖管理也变得现代化了。

5.2 核心文件

文件说明
go.mod模块定义,记录模块名和依赖列表
go.sum依赖校验,记录依赖的版本和哈希值

看看go.mod长什么样:

module hello go 1.21

当你添加依赖后,它会变成这样:

module hello go 1.21 require ( github.com/gin-gonic/gin v1.9.1 github.com/go-redis/redis/v8 v8.11.5 )

5.3 常用命令

命令说明
go mod init <模块名>初始化模块
go mod tidy整理依赖(添加缺失的、删除多余的)
go mod download下载依赖到本地缓存
go mod vendor将依赖复制到vendor目录
go get <包名>添加/更新依赖

5.4 添加依赖示例

假设我们要用gin框架:

go get github.com/gin-gonic/gin

然后就可以在代码里用了:

packagemainimport"github.com/gin-gonic/gin"funcmain(){r:=gin.Default()r.GET("/",func(c*gin.Context){c.JSON(200,gin.H{"message":"Hello, Gin!"})})r.Run(":8080")}

执行go mod tidy会自动整理依赖。


六、常见问题

6.1 问题1:go: command not found

问题描述:命令行输入go提示找不到命令。

原因分析

  1. Go 没有安装成功
  2. 环境变量没配置正确

解决方案

# 检查 Go 是否安装ls/usr/local/go/bin/go# 检查 PATHecho$PATH|grepgo

确保$GOROOT/binPATH中。

6.2 问题2:下载依赖很慢或超时

问题描述:执行go get时很慢或报错timeout

原因分析:默认从proxy.golang.org下载,国内访问慢。

解决方案

设置国内代理:

goenv-wGOPROXY=https://goproxy.cn,direct

6.3 问题3:go mod init报错

问题描述:执行go mod init时报错。

原因分析

  1. 当前目录已经有go.mod文件
  2. 没有给模块名

解决方案

# 正确用法go mod init myproject# 如果是 GitHub 项目go mod init github.com/username/myproject

6.4 问题4:IDE没有代码提示

问题描述:用 VS Code 或 GoLand 写代码没有智能提示。

解决方案

VS Code:安装 Go 插件,然后按Ctrl+Shift+P,执行Go: Install/Update Tools,全选安装。

GoLand:确保GOROOT配置正确,File → Settings → Go → GOROOT。


七、总结

本文介绍了 Go 语言环境搭建的完整流程,重点包括:

  1. 环境安装:下载安装包,一路 Next
  2. 环境变量:配置GOROOTGOPATHGOPROXY
  3. 第一个程序go mod init+go run
  4. Go Modules:现代化的依赖管理

关键命令速查表

命令说明
go version查看版本
go env查看环境变量
go mod init初始化模块
go run编译并运行
go build编译
go mod tidy整理依赖
go get添加依赖

下一篇:我们将学习 Go 的变量、常量和基本类型,敬请期待!


热门专栏推荐

  • Agent小册
  • 服务器部署
  • Java基础合集
  • Python基础合集
  • Go基础合集
  • 大数据合集
  • 前端小册
  • 数据库合集
  • Redis 合集
  • Spring 全家桶
  • 微服务全家桶
  • 数据结构与算法合集
  • 设计模式小册
  • 消息队列合集

等等等还有许多优秀的合集在主页等着大家的光顾,感谢大家的支持

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😊
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🙏
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🌟

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询