当前位置: 首页 > 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架构绕晕!

相关文章:

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,见文末👇&#x1f…...

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(死信)&#xf…...

演示汉字笔顺的工具

视频需要审核,还是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中,项目自动化构建是指使用一系列工具和脚本来自动执行软件项目的编译、测试、打包和…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络&#xf…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...