当前位置: 首页 > news >正文

golang学习笔记——go语言安装及系统环境变量设置

文章目录

  • go语言安装
  • go env
  • go get
  • goproxy
  • 测试
  • 安装 Go 插件
  • 安装 Go 插件依赖工具
  • 参考资料
    • 用户环境变量和系统环境变量
      • 用户环境变量
      • 系统环境变量
      • 示例
      • 设置环境变量的步骤
        • 设置用户环境变量
        • 设置系统环境变量
      • 验证环境变量
      • 总结
    • 2024年最火的5大Go框架
        • 1. Gin:高并发接口的“秒回神器”
        • 2. Echo:金融大佬的“合规助手”
        • 3. Fiber:前端转Go的“逃课神器”
        • 4. GoFrame:传统企业IT的“救世主”
        • 5. Kratos:B站大佬的“屠龙刀”

go语言安装

下载go1.24.1.windows-amd64.msi

$ go version
go version go1.24.1 windows/amd64

配置三个环境变量:GOROOT、GOPATH、Path

  • 添加系统环境变量GOROOT

    变量名:GOROOT
    变量值:D:\golang
    
  • 修改用户环境变量GOPATH

    修改前
    C:\Users\username\go
    修改后
    D:\mygopath
    

    修改到非系统盘符,减少空间占用,系统盘大也可以不修改。

  • 修改系统环境变量Path

    D:\golang\bin
    

    采用msi安装方式,安装时软件已经自动添加。bin目录下有go.exe和gofmt.exe

go env

输入go env查看环境配置信息

go env 是 Go 语言提供的一个命令行工具,用于显示当前 Go 环境配置的详细信息。它可以帮助你了解当前 Go 环境的各种设置,包括但不限于 GOPATH、GOROOT、模块路径、编译器路径等相关环境变量和配置。

go get

cd D:\code

goproxy

Bash (Linux or macOS)

# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
export GOPRIVATE=git.mycompany.com,github.com/my/private

PowerShell (Windows)

# 配置 GOPROXY 环境变量
$env:GOPROXY = "https://goproxy.io,direct"
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
$env:GOPRIVATE = "git.mycompany.com,github.com/my/private"

测试

mkdir hello
cd hello
go mod init hello
touch main.go

接下来, 将如下的代码写入 example.go 中:

package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}

下载gin

go get -u github.com/gin-gonic/gin

运行项目

go run main.go

访问http://127.0.0.1:8080/ping

{"message":"pong"}

安装 Go 插件

VSCode 的插件功能中输入 go 关键字,然后找到下图中的插件,并安装。
在这里插入图片描述

安装 Go 插件依赖工具

快捷键 Ctrl + Shift + p 打开命令面板,输入go install tools,选择第一项 Go: install/Update Tools
在这里插入图片描述
在这里插入图片描述

参考资料

使用vscode调试wails项目(golang桌面GUI)
vscode远程免密ssh原理与实操方法
vscode远程开发没有代码提示

用户环境变量和系统环境变量

在 Windows 10 中,环境变量分为两种类型:用户环境变量和系统环境变量。这两种类型的环境变量在优先级上有一定的区别。具体来说,用户环境变量的优先级高于系统环境变量。这意味着,当同时设置了用户环境变量和系统环境变量时,系统会优先使用用户环境变量。

用户环境变量

  • 作用范围:仅对当前登录的用户有效。
  • 设置位置
    • 右键点击“此电脑”或“计算机” -> 属性 -> 高级系统设置 -> 环境变量 -> 用户变量
  • 优先级:较高,优先于系统环境变量。

系统环境变量

  • 作用范围:对所有用户和所有进程有效。
  • 设置位置
    • 右键点击“此电脑”或“计算机” -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量
  • 优先级:较低,当存在同名用户环境变量时,会被覆盖。

示例

假设你同时设置了用户变量和系统变量 PATH,内容如下:

  • 用户变量 PATH: C:\Users\YourUser\go\bin
  • 系统变量 PATH: C:\Program Files\Go\bin

在这种情况下,系统会优先使用用户变量 PATH,即 C:\Users\YourUser\go\bin

设置环境变量的步骤

设置用户环境变量
  1. 右键点击“此电脑”或“计算机” -> 属性 -> 高级系统设置 -> 环境变量。
  2. 在“用户变量”部分,点击“新建”按钮,添加新的用户变量。
  3. 输入变量名(如 GOPATH)和变量值(如 C:\Users\YourUser\go)。
  4. 点击“确定”保存设置。
设置系统环境变量
  1. 右键点击“此电脑”或“计算机” -> 属性 -> 高级系统设置 -> 环境变量。
  2. 在“系统变量”部分,点击“新建”按钮,添加新的系统变量。
  3. 输入变量名(如 GOPATH)和变量值(如 C:\Go)。
  4. 点击“确定”保存设置。

验证环境变量

你可以通过命令提示符或 PowerShell 来验证环境变量是否设置正确:

echo %GOPATH%

echo $env:GOPATH

总结

  • 用户环境变量优先级高于系统环境变量
  • 如果同时设置了同名的用户环境变量和系统环境变量,系统会优先使用用户环境变量。
  • 用户环境变量只对当前登录用户有效,而系统环境变量对所有用户和所有进程有效。

希望这些信息对你有帮助!如果有更多问题,欢迎继续提问。

2024年最火的5大Go框架

1. Gin:高并发接口的“秒回神器”

适用人群:追求极致性能的API狂人

  • 场景:社交平台消息推送、电商秒杀系统
  • 真实案例:某短视频App用Gin重构推送服务,单机扛住10万QPS,运维小哥终于不用半夜爬起来扩容了!
  • 坑点预警:功能太“素”,复杂业务得自己造轮子,新手慎入!
2. Echo:金融大佬的“合规助手”

适用人群:强迫症式代码洁癖患者

  • 场景:支付系统、风控平台
  • 真实案例:某银行用Echo搭跨境转账接口,参数校验错误率直降85%,再也不用背“锅”了!
  • 吐槽:中间件顺序写错?恭喜你喜提“玄学BUG”大礼包!
3. Fiber:前端转Go的“逃课神器”

适用人群:想逃离JavaScript“苦海”的全栈仔

  • 场景:快速验证产品原型、小团队全栈开发
  • 真实案例:3人小团队用Fiber+React两天撸出在线协作工具,投资人当场打款
  • 扎心真相:底层用了非标库,第三方插件兼容?自求多福吧!
4. GoFrame:传统企业IT的“救世主”

适用人群:受够Java臃肿架构的“转型难民”

  • 场景:ERP系统、政府政务平台
  • 真实案例:某车企用GoFrame重构供应链系统,开发效率提升40%,项目经理笑出法令纹!
  • 警告:用了它,你就和“简洁”二字彻底说再见了!
5. Kratos:B站大佬的“屠龙刀”

适用人群:立志挑战“双11级别”流量的狠人

  • 场景:亿级用户平台、分布式微服务
  • 真实案例:某直播平台用Kratos扛住顶流明星塌房事件,服务器稳如老狗,运维集体跪了!
  • 劝退指南:10人以下团队别碰!分分钟被DDD架构绕晕!
http://www.lryc.cn/news/546989.html

相关文章:

  • Redis|集群 Cluster
  • 解锁MacOS开发:环境配置与应用开发全攻略
  • 如何通过卷积神经网络(CNN)有效地提取图像的局部特征,并在CIFAR-10数据集上实现高精度的分类?
  • 监听 RabbitMQ 延时交换机的消息数、OpenFeign 路径参数传入斜杠无法正确转义
  • 希音(Shein)前端开发面试题集锦和参考答案
  • python全栈-Linux基础
  • DeepSeek R1助力,腾讯AI代码助手解锁音乐创作新
  • Git安装与配置
  • 【Linux】自定协议和序列化与反序列化
  • C++基础系列【19】运算符重载
  • Python-04BeautifulSoup网络爬虫
  • 芯科科技通过全新并发多协议SoC重新定义智能家居连接
  • python-leetcode-零钱兑换 II
  • 【RabbitMQ】Producer之TTL过期时间 - 基于AMQP 0-9-1
  • 演示汉字笔顺的工具
  • JVM简单了解
  • 【CSS—前端快速入门】CSS 选择器
  • 【MYSQL数据库异常处理】执行SQL语句报超时异常
  • 【Day9】make/makeFile如何让项目构建自动化起飞
  • 【单片机】嵌入式系统的硬件与软件特性
  • C语言学习笔记-初阶(30)深入理解指针2
  • ROM修改进阶教程------修改安卓机型SELinux宽容的几种方式方法 以及第三方系统中如何关闭SELinux宽容
  • 亚马逊云科技Marketplace(中国区)上架专业服务产品, “云生态连接器”价值凸显
  • 【音视频】音频基础
  • 策略模式的C++实现示例
  • 本地部署pangolin获取谱系,从而达到预测新冠的流行趋势
  • 【我的 PWN 学习手札】House of Emma
  • 4 Redis4 List命令类型讲解
  • CentOS 7 安装 Redis6.2.6
  • 数据库原理4