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
。
设置环境变量的步骤
设置用户环境变量
- 右键点击“此电脑”或“计算机” -> 属性 -> 高级系统设置 -> 环境变量。
- 在“用户变量”部分,点击“新建”按钮,添加新的用户变量。
- 输入变量名(如
GOPATH
)和变量值(如C:\Users\YourUser\go
)。 - 点击“确定”保存设置。
设置系统环境变量
- 右键点击“此电脑”或“计算机” -> 属性 -> 高级系统设置 -> 环境变量。
- 在“系统变量”部分,点击“新建”按钮,添加新的系统变量。
- 输入变量名(如
GOPATH
)和变量值(如C:\Go
)。 - 点击“确定”保存设置。
验证环境变量
你可以通过命令提示符或 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架构绕晕!
相关文章:

golang学习笔记——go语言安装及系统环境变量设置
文章目录 go语言安装go envgo getgoproxy测试安装 Go 插件安装 Go 插件依赖工具参考资料用户环境变量和系统环境变量用户环境变量系统环境变量示例设置环境变量的步骤设置用户环境变量设置系统环境变量 验证环境变量总结 2024年最火的5大Go框架1. Gin:高并发接口的“…...

Redis|集群 Cluster
文章目录 是什么能干嘛集群算法-分片-槽位slotredis集群的槽位slotredis集群的分片分片槽位的优势slot槽位映射——业界的3种解决方案小厂:哈希取余分区中厂:一致性哈希算法分区大厂:哈希槽分区 面试题:为什么 Redis 集群的最大槽…...

解锁MacOS开发:环境配置与应用开发全攻略
✨✨✨这里是小韩学长yyds的BLOG(喜欢作者的点个关注吧) ✨✨✨想要了解更多内容可以访问我的主页 小韩学长yyds-CSDN博客 目录 引言 一、MacOS 开发环境配置 (一)必备工具安装 (二)集成开发环境(IDE)选…...
如何通过卷积神经网络(CNN)有效地提取图像的局部特征,并在CIFAR-10数据集上实现高精度的分类?
目录 1. CNN 提取图像局部特征的原理 2. 在 CIFAR - 10 数据集上实现高精度分类的步骤 2.1 数据准备 2.2 构建 CNN 模型 2.3 定义损失函数和优化器 2.4 训练模型 2.5 测试模型 3. 提高分类精度的技巧 卷积神经网络(Convolutional Neural Network, CNN&#…...

监听 RabbitMQ 延时交换机的消息数、OpenFeign 路径参数传入斜杠无法正确转义
背景 【MQ】一套为海量消息和高并发热点消息,提供高可用精准延时服务的解决方案 我现在有一个需求,就是监听 RabbitMQ 一个延时交换机的消息数,而 RabbitTemplate 是不存在对应的方法来获取的。 而我们在 RabbitMQ 的控制台却可以发现延时交…...
希音(Shein)前端开发面试题集锦和参考答案
用 Node 写过什么工具或 npm 包 在实际开发中,使用 Node 编写过多种实用工具和 npm 包。 自动化构建工具 开发了一个简单的自动化构建工具,用于处理前端项目的资源压缩和合并。在前端项目中,为了优化性能,需要对 CSS 和 JavaScript 文件进行压缩,减少文件体积,同时将多个…...

python全栈-Linux基础
python全栈-Linux基础 文章目录 Linux安装/配置网络配置配置Linux远程登录配置虚拟机内部ip配置真机的ip安装XShell和Xftp目录结构用户和用户组用户管理添加用户useradd查看用户id修改用户usermod (选项)(参数)用户密码设置passed (选项)(参数)删除用户userdel [选项] 用户名 用…...

DeepSeek R1助力,腾讯AI代码助手解锁音乐创作新
目录 1. DeepSeekR1模型简介2. 歌词创作流程2.1 准备工作2.2 歌词生成技巧 3. 音乐制作环节3.1 主流AI音乐生成平台 4. 歌曲欣赏5. 总结展望 1. DeepSeekR1模型简介 腾讯AI代码助手最新推出的DeepSeekR1模型不仅在代码生成方面表现出色,其强大的自然语言处理能力也…...
Git安装与配置
安装部分: Windows:下载官网安装包,双击安装,路径选择(注意是否修改),安装选项(是否勾选某些选项,如提到安装时更换编辑器为Nano)。Linux:通过包管…...

【Linux】自定协议和序列化与反序列化
目录 一、序列化与反序列化概念 二、自定协议实现一个加法网络计算器 (一)TCP如何保证接收方的接收到数据是完整性呢? (二)自定义协议 (三)自定义协议的实现 1、基础类 2、序列化与反序列…...
C++基础系列【19】运算符重载
博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇…...

Python-04BeautifulSoup网络爬虫
2025-03-04-BeautifulSoup网络爬虫 记录BeautifulSoup网络爬虫的核心知识点 文章目录 2025-03-04-BeautifulSoup网络爬虫 [toc]1-参考网址2-学习要点3-核心知识点1. 安装2. 导入必要的库3. 发送 HTTP 请求4. 创建 BeautifulSoup 对象5. 解析 HTML 内容5.1 查找标签5.2 根据属性…...

芯科科技通过全新并发多协议SoC重新定义智能家居连接
MG26系列SoC现已全面供货,为开发人员提供最高性能和人工智能/机器学习功能 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB),日前宣…...

python-leetcode-零钱兑换 II
518. 零钱兑换 II - 力扣(LeetCode) 这个问题是 完全背包问题 的一个变体,可以使用 动态规划 来解决。我们定义 dp[i] 为凑成金额 i 的硬币组合数。 思路: 定义 DP 数组 设 dp[i] 表示凑成金额 i 的组合数,初始化 dp[…...

【RabbitMQ】Producer之TTL过期时间 - 基于AMQP 0-9-1
这篇文章和大家分享Producer发布消息时如何设置消息过期时间,包括队列级别和消息级别,还有如何设置队列的过期时间。 消息过期时间 给消息设置TTL,在超过TTL值后,消息就会变成dead message(死信)…...

演示汉字笔顺的工具
视频需要审核,还是gif比较方便,本来就不长。 给小学生辅导汉字笔顺的时候,先是发现“百度汉语”里面有很多类似的笔顺的动画,非常方便。但总是需要上网,而且百度上并不提供针对特定汉字的方便的检索途径,加…...

JVM简单了解
一、JVM概述 目录 一、JVM概述 1.jvm的作用 2.jvm的组成 2.1类加载 2.1.1加载 2.1.2链接 2.1.3初始化 2.1.4类加载器分类 2.1.5双亲委派机制 2.2运行时数据区 2.2.1程序计数器 2.2.2虚拟机栈 2.2.3本地方法栈 2.2.4java堆内存 2.2.5方法区 2.3本地方法库接口 …...

【CSS—前端快速入门】CSS 选择器
CSS 1. CSS介绍 1.1 什么是CSS? CSS(Cascading Style Sheet),层叠样式表,用于控制页面的样式; CSS 能够对网页中元素位置的排版进行像素级精确控制,实现美化页面的效果;能够做到页面的样式和 结构分离; 1…...

【MYSQL数据库异常处理】执行SQL语句报超时异常
MYSQL执行SQL语句异常:The last packet successfully received from the server was 100,107 milliseconds ago. The last packet sent successfully to the server was 100,101 milliseconds ago. 这个错误表明 MySQL 服务器与 JDBC 连接之间的通信超时了。通常由…...

【Day9】make/makeFile如何让项目构建自动化起飞
【Day9】make/makeFile如何让项目构建自动化起飞 使用make命令编写makefile文件依赖管理增量构建makefile注释:#makefile其他语法 make/makefile递归式工作过程 在Linux中,项目自动化构建是指使用一系列工具和脚本来自动执行软件项目的编译、测试、打包和…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...

在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...