做网站要求可制作网页的软件
2026/2/25 22:35:32 网站建设 项目流程
做网站要求,可制作网页的软件,html网站前台模板,做的网站怎样更新Go环境搭建与第一个程序 前言 这篇是 Go基础合集 的第一篇学习笔记#xff0c;这次整理的是 Go 语言的环境搭建和第一个程序。 想学一门新语言#xff0c;第一步是什么#xff1f;当然是把环境搭起来#xff01;很多人卡在环境配置这一步就放弃了#xff0c;其实 Go 的…Go环境搭建与第一个程序前言这篇是 Go基础合集 的第一篇学习笔记这次整理的是 Go 语言的环境搭建和第一个程序。想学一门新语言第一步是什么当然是把环境搭起来很多人卡在环境配置这一步就放弃了其实 Go 的安装配置非常简单比 Java 配置JAVA_HOME、CLASSPATH那一套省心多了。今天我们就从零开始把 Go 环境搭好跑通第一个Hello World顺便把Go Modules也讲清楚。个人主页山沐与山文章目录一、Go语言简介二、环境安装三、环境变量配置四、第一个Go程序五、Go Modules详解六、常见问题七、总结一、Go语言简介1.1 为什么学Go你可能会问编程语言这么多为什么要学 Go看看这些用 Go 写的项目你就明白了Docker、Kubernetes、etcd、Prometheus… 云原生时代的半壁江山都是 Go 打下来的。Go 语言有几个特点让它脱颖而出特点说明语法简单关键字只有25个学习曲线平缓编译速度快大型项目也能秒级编译天生支持并发goroutinechannel并发编程简单高效静态类型编译期检查类型错误运行时更安全单一可执行文件编译后就一个二进制文件部署超方便1.2 Go的版本选择Go 的版本命名很简单go1.x.y比如go1.21.5。建议选择最新的稳定版本目前推荐go1.21或go1.22。为什么因为 Go 团队承诺向后兼容新版本只会更好用不会破坏老代码。二、环境安装2.1 下载安装包去官网下载https://go.dev/dl/根据你的操作系统选择对应版本操作系统文件类型示例Windows.msigo1.21.5.windows-amd64.msimacOS.pkggo1.21.5.darwin-amd64.pkgLinux.tar.gzgo1.21.5.linux-amd64.tar.gz2.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 version2.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/goGOPATH工作目录存放依赖、编译产物$HOME/goGOPROXY模块代理地址https://goproxy.cn,directGO111MODULE是否启用 Go Moduleson3.2 配置步骤Windows右键此电脑 → 属性 → 高级系统设置 → 环境变量添加GOROOTC:\Go GOPATH%USERPROFILE%\go GOPROXYhttps://goproxy.cn,direct别忘了把%GOROOT%\bin加到PATH里。macOS/Linux编辑~/.bashrc或~/.zshrc# Go 环境变量exportGOROOT/usr/local/goexportGOPATH$HOME/goexportPATH$PATH:$GOROOT/bin:$GOPATH/bin# 国内代理下载依赖更快exportGOPROXYhttps://goproxy.cn,direct执行source ~/.bashrc使配置生效。3.3 验证配置goenv这个命令会列出所有 Go 环境变量。重点检查goenvGOROOT goenvGOPATH goenvGOPROXY四、第一个Go程序4.1 创建项目# 创建项目目录mkdirhellocdhello# 初始化模块go mod init hellogo mod init会创建一个go.mod文件这是 Go Modules 的核心文件。4.2 编写代码创建main.go文件packagemainimportfmtfuncmain(){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然后就可以在代码里用了packagemainimportgithub.com/gin-gonic/ginfuncmain(){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 问题1go: command not found问题描述命令行输入go提示找不到命令。原因分析Go 没有安装成功环境变量没配置正确解决方案# 检查 Go 是否安装ls/usr/local/go/bin/go# 检查 PATHecho$PATH|grepgo确保$GOROOT/bin在PATH中。6.2 问题2下载依赖很慢或超时问题描述执行go get时很慢或报错timeout。原因分析默认从proxy.golang.org下载国内访问慢。解决方案设置国内代理goenv-wGOPROXYhttps://goproxy.cn,direct6.3 问题3go mod init报错问题描述执行go mod init时报错。原因分析当前目录已经有go.mod文件没有给模块名解决方案# 正确用法go mod init myproject# 如果是 GitHub 项目go mod init github.com/username/myproject6.4 问题4IDE没有代码提示问题描述用 VS Code 或 GoLand 写代码没有智能提示。解决方案VS Code安装 Go 插件然后按CtrlShiftP执行Go: Install/Update Tools全选安装。GoLand确保GOROOT配置正确File → Settings → Go → GOROOT。七、总结本文介绍了 Go 语言环境搭建的完整流程重点包括环境安装下载安装包一路 Next环境变量配置GOROOT、GOPATH、GOPROXY第一个程序go mod initgo runGo 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连支持一下创造不易您们的支持是我的动力

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

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

立即咨询