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.mzph.cn/news/897333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.6c语言

#define _CRT_SECURE_NO_WARNINGS #include <math.h> #include <stdio.h> int main() {int sum 0,i,j;for (j 1; j < 1000; j){sum 0;for (i 1; i < j; i){if (j % i 0){sum i;} }if (sum j){printf("%d是完数\n", j);}}return 0; }#de…

【TI】如何更改 CCS20.1.0 的 WORKSPACE 默认路径

参考链接&#xff1a; 如何更改 CCS Theia 中工作区的默认位置&#xff1f;- Code Composer Studio 论坛 - Code Composer Studio™︎ - TI E2E 支持论坛 --- How to change the default location for the workspace in CCS Theia? - Code Composer Studio forum - Code Comp…

Vue3中动态Ref的魔法:绑定与妙用

前言 在Vue 3的开发过程中,动态绑定Ref是一项非常实用的技术,特别是在处理复杂组件结构和动态数据时。通过动态绑定Ref,我们可以更灵活地访问和操作DOM元素或组件实例,实现更高效的交互和状态管理。本文将详细介绍如何在Vue 3中实现动态Ref的绑定,并通过实例展示其妙用。…

CarPlanner:用于自动驾驶大规模强化学习的一致性自回归轨迹规划

25年2月来自浙大和菜鸟网络的论文“CarPlanner: Consistent Auto-regressive Trajectory Planning for Large-scale Reinforcement Learning in Autonomous Driving”。 轨迹规划对于自动驾驶至关重要&#xff0c;可确保在复杂环境中安全高效地导航。虽然最近基于学习的方法&a…

VS Code连接服务器教程

VS Code是什么 VS Code&#xff08;全称 Visual Studio Code&#xff09;是一款由微软推出的免费、开源、跨平台的代码编辑神器。VS Code 支持 所有主流操作系统&#xff0c;拥有强大的功能和灵活的扩展性。 官网&#xff1a;https://code.visualstudio.com/插件市场&#xff1…

【JavaWeb】Web基础概念

文章目录 1、服务器与客户端2、服务器端应用程序3、请求和响应4、项目的逻辑构成5、架构5.1 概念5.2 发展演变历程单一架构分布式架构 5.3 单一架构技术体系 6、本阶段技术体系 1、服务器与客户端 ①线下的服务器与客户端 ②线上的服务器与客户端 2、服务器端应用程序 我…

安徽省考计算机专业科目2025(持续更新)

目录 第一部分 计算机科学技术基础 第一章 计算机及其应用基础知识 1.1 计算机的特点、分类及其应用 1.2 信息编码与数据表示&#xff1b;数制及其转换方法&#xff1b;算术运算和逻辑运算的过程 第一部分 计算机科学技术基础 第一章 计算机及其应用基础知识 1.1 计算机…

前端知识点---路由模式-实例模式和单例模式(ts)

在 ArkTS&#xff08;Ark UI 框架&#xff09;中&#xff0c;路由实例模式&#xff08;Standard Instance Mode&#xff09;主要用于管理页面跳转。当创建一个新页面时&#xff0c;可以选择标准实例模式&#xff08;Standard Mode&#xff09;或单实例模式&#xff08;Single M…

【leetcode hot 100 73】矩阵置零

解法一&#xff1a;&#xff08;使用两个标记变量&#xff09;用矩阵的第一行和第一列代替方法一中的两个标记数组&#xff08;col、row[ ]&#xff1a;第几列、行出现0&#xff09;&#xff0c;以达到 O(1) 的额外空间。 这样会导致原数组的第一行和第一列被修改&#xff0c;…

【十三】Golang 通道

&#x1f4a2;欢迎来到张胤尘的开源技术站 &#x1f4a5;开源如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 通道通道声明初始化缓冲机制无缓冲通道代码示例 带…

【JAVA架构师成长之路】【电商系统实战】第12集:秒杀系统性能优化实战(CAN + Nginx + Sentinel)

30分钟课程&#xff1a;秒杀系统性能优化实战&#xff08;CDN Nginx Sentinel&#xff09; 课程目标 掌握静态资源 CDN 加速的配置与优化策略。通过 Nginx 实现负载均衡&#xff0c;提升系统横向扩展能力。使用 Sentinel 实现服务降级&#xff0c;保障核心链路稳定性。 课程…

K8S学习之基础十八:k8s的灰度发布和金丝雀部署

灰度发布 逐步扩大新版本的发布范围&#xff0c;从少量用户逐步扩展到全体用户。 特点是分阶段发布、持续监控、逐步扩展 适合需要逐步验证和降低风险的更新 金丝雀部署 将新版本先部署到一小部分用户或服务器&#xff0c;观察其表现&#xff0c;再决定是否全面推广。 特点&…

毕业项目推荐:基于yolov8/yolo11的苹果叶片病害检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示&#xff1a;功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出&#xff08;xls格式&#xff09;功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

redis有哪几种持久化方式

Redis 提供了两种持久化方式&#xff1a;RDB&#xff08;Redis Database&#xff09; 和 AOF&#xff08;Append-Only File&#xff09;。它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的原理、优缺点以及如何选择的建议&#xff1a; 1. RDB&#xff08;Redis Datab…

Unity引擎使用HybridCLR(华佗)热更新

大家好&#xff0c;我是阿赵。   阿赵我做手机游戏已经有十几年时间了。记得刚开始从做页游的公司转到去做手游的公司&#xff0c;在面试的时候很重要的一个点&#xff0c;就是会不会用Lua。使用Lua的原因很简单&#xff0c;就是为了热更新。   热更新游戏内容很重要。如果…

DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)

DeepSeek R1-7B 医疗大模型微调实战全流程指南 目录 环境配置与硬件优化医疗数据工程微调策略详解训练监控与评估模型部署与安全持续优化与迭代多模态扩展伦理与合规体系故障排除与调试行业应用案例进阶调优技巧版本管理与迭代法律风险规避成本控制方案文档与知识传承1. 环境配…

大白话html语义化标签优势与应用场景

大白话html语义化标签优势与应用场景 大白话解释 语义化标签就是那些名字能让人一看就大概知道它是用来做什么的标签。以前我们经常用<div>来做各种布局&#xff0c;但是<div>本身没有什么实际的含义&#xff0c;就像一个没有名字的盒子。而语义化标签就像是有名…

软件工程---构件

在软件工程中&#xff0c;构件是一个独立的、可复用的软件单元&#xff0c;它具有明确的功能、接口和行为&#xff0c;并且可以在不同的环境中加以集成和复用。构件的概念是软件架构和组件化开发的核心思想之一&#xff0c;其目的是促进软件系统的模块化、可维护性和可扩展性。…

MES机联网4:文档资料

目录信息 MES机联网1&#xff1a;技术方案MES机联网2&#xff1a;采集网关MES机联网3&#xff1a;管理后台MES机联网4&#xff1a;文档资料 MQ接入文档 1、建立连接 mqtt连接地址: 192.168.0.138 mqtt端口: 1883 mqtt用户名&#xff1a;admin mqtt密码&#xff1a;123456 …

“此电脑”中删除WPS云盘方法(百度网盘通用)

&#x1f4e3;此方法适用于卸载WPS云盘后&#xff0c;WPS云盘图标依然在此电脑中显示的问题。 原理&#xff1a;通过注册来进行删除 步骤&#xff1a; WIN键R,打开运行窗口&#xff0c;输入regedit命令&#xff0c;来打开【注册表编辑器】&#xff1b; 从左侧&#xff0c;依…