Golang环境搭建Win10(简洁版)

news2025/4/4 16:07:29

Golang环境搭建Win10

  • Golang环境搭建(Win10)
    • 一、前言
    • 二、Golang下载
    • 三、配置环境变量
      • 3.1、配置GOROOT
      • 3.2、配置GOPATH
      • 3.3、配置GOPROXY代理




Golang环境搭建(Win10)

一、前言

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

话不多抄,让我们开始按步骤一步步进行即可完成开发环境的搭建工作;本文基于go1.18.10版本进行搭建,目前看与后面版本的搭建差异不大。

二、Golang下载

下载地址:All releases - The Go Programming Language

版本选择:go1.18.10.windows-amd64.zip(视情况而定,通常windows电脑,64位系统,都要选择这个amd64版本,除非是arm的)

在这里插入图片描述

完成下载后,解压,这里我选择的某个盘的根路径,方便查找:D:\go

在这里插入图片描述

三、配置环境变量

3.1、配置GOROOT

这里我的电脑是win10,记录一下我的操作:【我的电脑】属性—高级系统设置—环境变量,找到环境变量后开始进行配置;
在这里插入图片描述
第一步先配置GOROOT,新建变量GOROOT,变量值为即我们下载golang压缩包后解压缩的地址;建立完成后我们要在PATH加上bin的地址:%GOROOT%\bin

在这里插入图片描述
在这里插入图片描述
完成上述配置后,我们可以cmd窗xian口命令下进行操作了,查看一下我们的go版本:go version

在这里插入图片描述
确认正确后,我们继续往下配置。

3.2、配置GOPATH

新建变量:GOPATH;变量值:D:\go_work;说明:这个目录主要用于存放源代码,依赖包等内容,因此这文件夹路径下还要有src(源代码)、pkg(依赖包)、bin(可执行文件)三个文件夹用于存放不同的内容;

在这里插入图片描述

3.3、配置GOPROXY代理

默认情况下GOPROXY代理地址为【GOPROXY=https://proxy.golang.org,direct】但是这个地址在下载一些外部依赖包时容易超时或者报错,因此选择更改为国内镜像地址。

命令:go env -w GOPROXY=https://goproxy.cn,direct

修改后,在下载go的外部依赖包时,笔者还遇到了一个问题就是下载超时的情况,如下图,后面查看其它贴子了解到可能和GOSUMDB有关,GOSUMDB 的全称为 Go CheckSum Database,用来下载的包的安全性校验问题。包的安全性在使用 GoProxy 之后更容易出现,比如我们引用了一个不安全的 GoProxy 之后然后下载了一个不安全的包,这个时候就出现了安全性问题。对于这种情况,可以通过 GOSUMDB 来对包的哈希值进行校验。该方法仅供参考,如果需要关掉:

命令:go env -w GOSUMDB=off

在这里插入图片描述
以上我的配置就已经完成了,暂时可以进行一些简单的测试开发工作,后面如果再遇到新的问题,我会在这里再同步更新避坑情况说明。

下面附上一个go env各项参数的简要说明:

set GO111MODULE=on           		//是否以Go modules的模式运行项目  auto,on,off
set GOARCH=amd64             		//目标可执行程序操作系统构架 包括 386,amd64,arm
set GOBIN=                   		//项目的第三方可执行文件目录
set GOCACHE=   				        //项目的缓存目录
set GOENV=				            //项目的env文件目录
set GOEXE=.exe				        //项目编译之后的可执行文件后缀名
set GOFLAGS=
set GOHOSTARCH=amd64                    
set GOHOSTOS=windows			    //什么平台下面运行
set GOINSECURE=
set GOMODCACHE=                     //go mod 的缓存地址
set GONOPROXY=				        //私有库
set GONOSUMDB=                      //加载源代码不需要验证的库
set GOOS=windows			     //目标可执行程序运行操作系统,支持darwin,freebsd,linux,windows
set GOPATH=C:\Users\Ch\go           //go项目的目录
set GOPRIVATE=                     	//私有的项目依赖地址
set GOPROXY=				        //公共的项目依赖地址
set GOROOT=C:\Program Files\Go		//go的安装目录
set GOSUMDB=sum.golang.org          //
set GOTMPDIR=                       //go的临时文件目录
set GOTOOLDIR=     			        //go的工具包目录
set GOVCS=				            //指定了golang用什么版本控制工具下载源代码
set GOVERSION=go1.16.3              //使用go的版本号
set GCCGO=gccgo                   	//golang自带的编辑器目录







测试小吉

Golang环境搭建(Win10)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1224888.html

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

相关文章

Spring Framework 6.1 正式 GA

Spring Framework 6.1在运行时方面针对 JDK 21 和 Jakarta EE 10 上提供了一级支持,同时保留了 JDK 17 和 Jakarta EE 9 基线。Spring 还通过精细的元数据推理跟踪 GraalVM for JDK 21 的演变,同时暂时保持与 GraalVM 22.3 的兼容性。 主要变化 支持 JD…

运行ps软件提示由于找不到vcruntime140.dll无法继续执行代码怎么修复

今天我在打开ps时候突然电脑出现找不到vcruntime140.dll无法继续执行代码,我很困扰不知道什么原因,于是我花了一天时间在网上找了5个可以解决这个问题的方案分享给大家,同时我自己也解决了问题。分享给大家就是为了大家以后遇到这个问题不用像…

基于Java+SpringBoot+Vue3+Uniapp+TypeScript(有视频教程)前后端分离健身预约系统设计与实现

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

Vite - 配置 - 文件路径别名的配置

为什么要配置别名 别名的配置,主要作用是为了缩短代码中的导入路径。例如有如下的项目目录: project-name| -- src| -- a| --b| --c| --d| --e| -- abc.png| -- index.html| -- main.js如果想在 main.js 文件中使用 abc.png ,则使用的路径是 &#xff1…

八股文-TCP的四次挥手

TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它的连接的建立和关闭过程都是经过精心设计的。在TCP连接关闭时,使用四次挥手来保证数据的完整传输和连接的正常终止。 漫画TCP的四次挥手 第一次挥手&#…

Azure Machine Learning - Azure AI 搜索中的矢量搜索

矢量搜索是一种信息检索方法,它使用内容的数字表示形式来执行搜索方案。 由于内容是数字而不是纯文本,因此搜索引擎会匹配与查询最相似的矢量,而不需要匹配确切的字词。本文简要介绍了 Azure AI 搜索中的矢量支持。 其中还解释了与其他 Azure…

pdf如何让多张图片在一页

pdf保存为一页六张图片的方法是: 1、打开pdf查看器,打开文档。 2、点击【打印】图标进入打印程序,选择打印范围。 3、在【打印处理】选项,选择【每张张上放置多页】。 4、自定义每页放置的图片张数为六张,并对打印排版预览设置。 5、设置打印…

大师学SwiftUI第16章 - UIKit框架集成

其它相关内容请见​​虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记​​ SwiftUI是一套新框架,因此并没有包含我们构建专业应用所需的所有工具。这意味着我们会需要求助于UIKit(移动设备)和AppKit(Mac电脑)等原…

管理类联考——逻辑——知识+记忆篇——综合推理——考点+记忆

文章目录 整体目录大纲法汇总分类法记忆宫殿法绘图记忆法 考点记忆/考点汇总——按大纲 局部数字编码法归类记忆法重点记忆法歌决记忆法谐音记忆法理解记忆法比较记忆法 本篇思路:根据各方的资料,比如名师的资料,按大纲或者其他方式&#xff…

SQL注入1

对sql进行一个小结 还有其他的注入 其他注入:堆叠注入,宽字节注入,二次注入 首先是数值和字符 id1 and 11和id1 and 12 如果这两个语句返回的页面不一样就说明是数字型 id1 and 11#和id1 and 12# 如果这两个语句返回的页面不一样就说明是字符型 常…

微服务下整合knife4j接口文档

前言:本文旨在解决微服务下通过网关访问所用服务的knife4j文档,无需再通过其他服务单独访问 功能模块配置: 1.配置类: 在这个文件中注意下basePackage的扫描路径,修改为对应controller下的路径。 Configuration EnableSwagger…

土地利用强度(LUI)综合指数

土地利用强度的概念可以解释为某一时间特定区域内人类活动对土地利用强度的干扰程度[1],其不仅反映不同土地利用类型本身的自然属性,也体现了人类利用土地的深度和广度,进而揭示在人类社会系统干扰下土地资源自然综合体自然平衡的保持状态[2]…

jbase打印导出实现

上一篇实现了虚拟M层,这篇基于虚拟M实现打印导出。 首先对接打印层 using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Xml;namesp…

【原创】java+swing+mysql鲜花购物商城设计与实现

前言: 本文主要介绍了鲜花购物商城的设计与实现。首先,通过市场需求,我们确定了鲜花商场的功能,通常的商城一般都是B/S架构,然而我们今天要用javaswing去开发一个C/S架构的鲜花商城,利用开发技术和工具&am…

Swagger(4):Swagger配置

在上一张的项目中创建SwaggerConfig,进行配置文档内容。 1 配置基本信息 Docket:摘要对象,通过对象配置描述文件的信息。 apiInfo:设置描述文件中info。参数类型ApiInfo select():返回ApiSelectorBuilder对象,通过对象调用buil…

Android Studio 写一个Java调用c++ 的demo

前提条件: 本地已经配置好了ndk环境,如果没有配置好,建议参考macos 配置ndk环境-CSDN博客 这篇链接。 新建一个Empty Project 比如我这里的Project的名字是HelloJNI,包名是com.example.hellojni 然后在src目录下,右键选择Add C …

PHP 中传值与传引用的区别,什么时候传值什么时候传引用?

传值:当使用传值的方式时,函数或方法会创建原始变量的一个副本,并将该副本传递给函数或方法。在函数或方法内部,对副本的任何修改都不会影响到原始变量。当函数或方法执行完毕后,副本被销毁,不再使用。 传引…

一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner

前言 我们在使用Windows系统的时候经常会遇到一些程序不会释放已分配的内存,从而导致电脑变得缓慢。今天给大家推荐一款.NET开源的小巧、智能、免费的Windows内存清理工具:WinMemoryCleaner。 使用Windows内存清理工具来优化内存,这样不必浪…

电子商务、搜索引擎

电子商务 域名 网络服务 网络樱肖 搜索引擎优化

Leetcode—141.环形链表【简单】

2023每日刷题(三十三) Leetcode—141.环形链表 快慢指针算法思想 关于快慢指针为什么能检测出环,可以这么思考。 假设存在一个环: 慢指针进入环后,快指针和慢指针之间相距为d,每一次移动,d都会缩小1&…