多个golang版本实现切换

 更新时间:2026年06月22日 08:48:25   作者:雨师@  
这篇文章主要介绍了多个golang版本实现切换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.核心修改内容就是如下三个地方

最终通过修改,下面goroot的值就是可以切换到不同版本的关键:

GOROOTD:\GoVersions\go1.23.10\go
操作变量名变量值说明
点击「新建」GOPATHD:\GoProjects所有版本共用的项目目录(固定不变)
点击「新建」GOROOTD:\GoVersions\go1.23.10\go默认用最新版,切换版本时只改这个值
找到「PATH」→ 编辑PATH新增一行 %GOROOT%\bin让系统找到 go 命令,拖到 PATH 最顶部

前置条件

前提:

  1. 下载需要的 Go 版本压缩包(zip):https://go.dev/dl/(选 windows-amd64 版本,比如 go1.18.10.windows-amd64.zip、go1.25.8.windows-amd64.zip)
  2. 准备一个固定目录存放 Go 版本(比如D:\goenv,路径不要有空格 / 中文)
  3. 解压相应位置

2.具体实现步骤

打开环境变量面板

按下 Win + R → 输入 sysdm.cpl → 回车 → 点击「高级」→ 点击「环境变量」。

配置「用户变量」(无需管理员,仅当前用户生效)

在「用户变量」区域操作(不要动系统变量,避免全局冲突):

2.1设置上面提到的三个变量

1,2的位置就是按照图片的位置即可

3,的位置修改

这样就是修改完毕了,默认的是1.18.10版本,如上图

2.1切换到其他版本的办法:核心内容

就是修改上述的goroot的值(截图中2的位置,让goroot指向到其他版本即可)

2.2验证切换的版本

新开启一个cmd窗口,运行

go env

重点查看几个参数,版本是否对,

1.版本2,代理3.GO111MODULE=on

代理是否指向对,(这个必须对,否则你下载数据包的时候超级慢,这个参数必须设置正确)

GOPROXY=https://goproxy.cn,direct

2.3具体proxy的设置办法

3.安装多个版本的问题

3.1开发工具的问题

有时候我喜欢的vscode更新后就是需要新版本的golang,如果不是新版本,那么他的调试就是不能使用,见到最多的问题是goland开发工具,大家都是D版本比较多,多的goland2021版本,但是2021版本支持golang的版本最多到1.18.x,大于这个版本就是会出现别的问题,大家使用的时候关注下

3.2 开发需要

需要不同的版本

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • go从指定的URL下载图片并保存到本地的代码实现

    go从指定的URL下载图片并保存到本地的代码实现

    这段代码定义了一个名为 downloadImage 的函数,其目的是从指定的URL下载图片并保存到本地文件系统,本文是对代码功能的详细描述,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-08-08
  • Go框架自动化工具Beego使用详解

    Go框架自动化工具Beego使用详解

    这篇文章主要为大家介绍了Go框架自动化工具Beego使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • golang time包的用法详解

    golang time包的用法详解

    这篇文章主要介绍了golang time包的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Golang设计模式之适配器模式详细讲解

    Golang设计模式之适配器模式详细讲解

    这篇文章主要介绍了使用go实现适配器模式,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作,需要的朋友可以参考下
    2023-01-01
  • 浅谈Golang 嵌套 interface 的赋值问题

    浅谈Golang 嵌套 interface 的赋值问题

    这篇文章主要介绍了浅谈Golang 嵌套 interface 的赋值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go语言协程池的实现示例

    Go语言协程池的实现示例

    本文主要介绍了Go语言协程池的原理与实现,通过限制goroutine数量避免性能下降,及通过AddTask和Run方法管理任务分配,确保并发控制,提升系统稳定性,感兴趣的可以了解一下
    2025-09-09
  • golang高并发限流操作 ping / telnet

    golang高并发限流操作 ping / telnet

    这篇文章主要介绍了golang高并发限流操作 ping / telnet,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 详解go中panic源码解读

    详解go中panic源码解读

    这篇文章主要介绍了go中panic源码解读,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Go使用Redis实现分布式锁的常见方法

    Go使用Redis实现分布式锁的常见方法

    Redis 提供了一些原语,可以帮助我们实现高效的分布式锁,下边是使用 Redis 实现分布式锁的一种常见方法,通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-11-11
  • golang程序使用alpine编译出最小arm镜像实现

    golang程序使用alpine编译出最小arm镜像实现

    这篇文章主要为大家介绍了golang程序使用alpine编译出最小arm镜像,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论