Windows Go 开发环境下载、安装并配置
<div class="index-module_header_3qjZG"><div class="index-module_title_1s0gC">
<h2 id="article-title" class="index-module_articleTitle_2xHPX doc-article-title"><span class="ne-text">前言</span></h2>
</div>
</div>
<div>
<div class="yuque-doc-content" data-df="lake">
<div class="lake-content">
<p id="u7df31aa1" class="ne-p"><span class="ne-text">对于我们Windows用户而言,Go提供两种环境安装方式(源码安装除外):</span></p>
<p id="u3d2b3e07" class="ne-p"><span class="ne-text">1、MSI安装(<span class="ne-text">MSI文件是<strong><span class="ne-text">Windows Installer的数据包</span></strong><span class="ne-text">,</span></span><span class="ne-text">它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。<span class="ne-text">):程序在安装过程中会自动配置Go所需要的环境变量。</span></span></span></p>
<p id="u057ab655" class="ne-p"><span class="ne-text">2、ZIP安装:需要你手动设置一些环境变量。</span></p>
<h2 id="PfwDC"><span class="ne-text">Go重要环境变量介绍</span></h2>
<p id="u6988c1de" class="ne-p"><span class="ne-text">Go开发环境依赖于一些操作系统环境变量,你最好在安装Go之前就设置好这些系统环境变量配置。如果你使用的是Windows的话,你完全不用进行手动设置,Go将被默认安装在目录<code class="ne-code"><span class="ne-text">c:/go</span></code><span class="ne-text">(当然你也可以修改GOROOT的安装位置如:<code class="ne-code"><span class="ne-text">D:/Go</span></code><span class="ne-text">)下。这里列举几个最为重要的环境变量:</span></span></span></p>
<ul class="ne-ul">
<li id="u48d9d75f"><strong><span class="ne-text">GOROOT</span></strong><span class="ne-text"> 是Go在你的电脑上的安装位置,它的值一般都是 <code class="ne-code"><span class="ne-text">c:/go</span></code><span class="ne-text">,当然,你也可以安装在别的地方。</span></span></li>
<li id="u15b2390a"><strong><span class="ne-text">GOPROXY </span></strong><span class="ne-text">是<span class="ne-text">控制Go Module下载的来源,有助于确保构建的确定性和安全性(<strong><span class="ne-text">代理的配置可以在</span></strong><strong>goproxy.io</strong><strong><span class="ne-text">这个网站上找到说明</span></strong><span class="ne-text">)。</span></span></span></li>
</ul>
<ul class="ne-ul">
<li id="ufaf608f1"><strong><span class="ne-text">GOARCH</span></strong><span class="ne-text"> 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。</span></li>
<li id="u15e212dd"><strong><span class="ne-text">GOOS</span></strong><span class="ne-text"> 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。</span></li>
</ul>
<ul class="ne-ul">
<li id="uf13febba"><strong><span class="ne-text">GOBIN</span></strong><span class="ne-text"> 表示编译器和链接器的安装位置,默认是 <code class="ne-code"><span class="ne-text">GOROOT/bin</span></code><span class="ne-text">,如果你使用的是<code class="ne-code"><span class="ne-text">Go 1.0.3</span></code><span class="ne-text">及以后的版本,一般情况下你可以将它的值设置为空,Go 将会使用前面提到的默认值。</span></span></span></li>
<li id="u47dfda49"><strong><span class="ne-text">GOPATH </span></strong><span class="ne-text">Go开发包在安装完成后会为<span class="ne-text">设置一个默认目录,并且在<code class="ne-code"><span class="ne-text">Go1.14</span></code><span class="ne-text">及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就<strong><span class="ne-text">不需要我们再自己配置GOPATH</span></strong><span class="ne-text">了,使用默认的即可。</span></span></span></span></li>
</ul>
<h2 id="sybNb"><span class="ne-text">Go环境下载</span></h2>
<h3 id="Y6Jxk"><span class="ne-text">Go官网下载地址(需要FQ):</span></h3>
<blockquote>
<p id="u8f417609" class="ne-p"><span class="ne-text">https://golang.org/dl/</span></p>
</blockquote>
<h3 id="iODdV"><span class="ne-text">Go官方镜像站(国内用户推荐):</span></h3>
<blockquote>
<p id="u478a9051" class="ne-p"><span class="ne-text">https://golang.google.cn/dl/</span></p>
</blockquote>
<h3 id="YqYty"><span class="ne-text">Go语言中文网下载(国内用户推荐):</span></h3>
<blockquote>
<p id="u7ba78855" class="ne-p"><span class="ne-text">https://studygolang.com/dl</span></p>
</blockquote>
<p id="u3c904fb1" class="ne-p"><strong><span class="ne-text">选择我们对应系统的安装包下载即可:</span></strong></p>
<p id="u4cd06773" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625067417346-1e5c09be-76f2-4747-ae11-ef1f3f6508ce.png" width="717" id="u67a208b9" class="ne-image"></p>
<h2 id="t9mH8"><span class="ne-text">Go1.16.5安装图解</span></h2>
<p id="u1f4b5c80" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113384051-e5791fa8-baa8-416c-8375-e332b3259dba.png" width="710" id="u0d5dd083" class="ne-image"></p>
<p id="u3d0a5168" class="ne-p"> </p>
<p id="u19809c8f" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113437435-cebfae2b-ffdd-4fa0-9cce-708f96598f3a.png" width="499" id="u7568d384" class="ne-image"></p>
<p id="ub589dfb7" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113472584-64c39db7-c0be-44ed-8529-b81a92bb9021.png" width="499" id="u5f1c1b17" class="ne-image"></p>
<p id="uf0bdc3ef" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113635521-97daf229-cea9-45b1-8bb7-f707c9b3fd2b.png" width="496" id="u225477ca" class="ne-image"></p>
<p id="u82556a13" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113679346-da700a60-948e-4176-bd24-da6dfaf24d25.png" width="499" id="ud71b1b71" class="ne-image"></p>
<p id="u680db8e7" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113706159-0e277246-2737-4f22-80be-db105cc6f066.png" width="499" id="u90b7c3ff" class="ne-image"></p>
<p id="uffbec5fa" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113759364-efc77217-5c24-4653-af5a-726a3552e2b5.png" width="499" id="u53563e2d" class="ne-image"></p>
<p id="u84622fe1" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625113787561-c5ba9aea-4b6c-429c-be7d-1cdf1cca93c1.png" width="499" id="u0740bc01" class="ne-image"></p>
<h2 id="F5CWq"><span class="ne-text">Go安装目录清单</span></h2>
<p id="u7a036952" class="ne-p"><strong>打开刚才设置的安装地址:</strong><code class="ne-code"><strong>D:\Go</strong></code><strong>(</strong><strong><span class="ne-text">GOROOT</span></strong><strong>)</strong></p>
<p id="u901daecd" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1624903372833-f2b58478-3008-4bec-8cde-6b018a80029b.png" width="603" id="u33c0c54e" class="ne-image"></p>
<p id="u9b473663" class="ne-p"><strong><span class="ne-text">Go安装目录(</span></strong><code class="ne-code"><strong><span class="ne-text">GOROOT</span></strong></code><strong><span class="ne-text">)的文件夹结构简单介绍如下所示:</span></strong></p>
<ul class="ne-ul">
<li id="ud7ee0c13"><code class="ne-code"><span class="ne-text">/api</span></code><span class="ne-text">:每个版本api变更差异</span></li>
<li id="u67197742"><code class="ne-code"><span class="ne-text">/bin</span></code><span class="ne-text">:go源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)等</span></li>
</ul>
<ul class="ne-ul">
<li id="ue87d987e"><code class="ne-code"><span class="ne-text">/doc</span></code><span class="ne-text">:英文版的Go文档</span></li>
<li id="uc20674be"><code class="ne-code"><span class="ne-text">/lib</span></code><span class="ne-text">:包含项目所引用、依赖的一些库文件</span></li>
</ul>
<ul class="ne-ul">
<li id="u282e7357"><code class="ne-code"><span class="ne-text">/misc</span></code><span class="ne-text">:包含与支持 Go 编辑器有关的配置文件以及 cgo 的示例,<span class="ne-text">杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等</span></span></li>
<li id="ucab8ea2a"><code class="ne-code"><span class="ne-text">/pkg</span></code><span class="ne-text">:包含Windows 平台编译好的中间文件</span></li>
</ul>
<ul class="ne-ul">
<li id="u4e586d37"><code class="ne-code"><span class="ne-text">/src</span></code><span class="ne-text">:包含源代码构建脚本和标准库的包的完整源代码</span></li>
<li id="ubef0900f"><code class="ne-code"><span class="ne-text">/test</span></code><span class="ne-text">:测试用例存放处</span></li>
</ul>
<h2 id="KQ1mz"><span class="ne-text">验证是否安装配置成功:</span></h2>
<p id="u485ddc65" class="ne-p"><strong>win+r: cmd:</strong></p>
<p id="uef4d06be" class="ne-p"><code class="ne-code"><span class="ne-text">go version</span></code></p>
<p id="uf7e1404a" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1624902857037-81807445-dbad-4e0a-b880-a7e962b8469a.png" width="180.5" id="u298698d1" class="ne-image"></p>
<p id="u9b36086c" class="ne-p"><span class="ne-text">或者:</span></p>
<p id="u66ffc59c" class="ne-p"><code class="ne-code"><span class="ne-text">go help</span></code></p>
<p id="u1f1a2695" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1624902978472-e117e053-cc70-4203-97cf-0e9c2da440bb.png" width="368" id="uca017bfe" class="ne-image"></p>
<h2 id="DvKRI"><span class="ne-text">查看系统中配置的Go环境变量</span></h2>
<p id="u200a0a0e" class="ne-p"><span class="ne-text">命令:<code class="ne-code"><span class="ne-text">go env</span></code></span></p>
<p id="ud52ec9ac" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625073405410-d8d2510d-832b-4826-a75b-3c580178a0e0.png" width="947" id="u81c411bd" class="ne-image"></p>
<p id="u1f4c4de1" class="ne-p"> </p>
<h2 id="CaYbM"><span class="ne-text">GOPROXY(重要Go默认下载依赖库代理修改)</span></h2>
<h3 id="Ul3Wz"><span class="ne-text">关于GOPROXY</span></h3>
<div class="ne-quote">
<p id="u654d1613" class="ne-p"><span class="ne-text">由于国内的网络环境问题,我们可以通过配置GOPROXY避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建。</span></p>
</div>
<h3 id="uD5UJ"><span class="ne-text">查看本机环境默认GoPROXY配置,并修改为国内可访问</span></h3>
<p id="ub7500e83" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625074034470-222657f2-fe92-4023-8dac-a956b167ae16.png" width="253.5" id="u95d5c233" class="ne-image"></p>
<p id="u7d957370" class="ne-p"><strong><span class="ne-text">注意:在</span></strong><strong><span class="ne-text">Go1.14版本之后,都推荐使用</span></strong><code class="ne-code"><strong><span class="ne-text">go mod</span></strong></code><strong><span class="ne-text">模式来管理依赖环境了,也不再强制我们把代码必须写在</span></strong><code class="ne-code"><strong><span class="ne-text">GOPATH</span></strong></code><strong><span class="ne-text">下面的src目录了,你可以在你电脑的任意位置编写Go代码。(网上有些教程适用于1.11版本之前。)</span></strong></p>
<blockquote>
<p id="u9cfbec12" class="ne-p"><span class="ne-text">由Go环境变量图可知,本机的默认GoPROXY配置是:<code class="ne-code"><span class="ne-text">GOPROXY=https://proxy.golang.org,direct</span></code><span class="ne-text">,由于国内访问不到<code class="ne-code"><span class="ne-text">https://proxy.golang.org</span></code><span class="ne-text">,所以我们需要换一个PROXY,这里推荐使用<code class="ne-code"><span class="ne-text">https://goproxy.io</span></code><span class="ne-text">或<code class="ne-code"><span class="ne-text">https://goproxy.cn</span></code><span class="ne-text">。</span></span></span></span></span></p>
</blockquote>
<h3 id="zbnux"><span class="ne-text">执行下面的命令修改GOPROXY:</span></h3>
<div class="cnblogs_Highlighter">
<pre class="brush:go;gutter:true;">go env -w GOPROXY=https://goproxy.cn,direct</pre>
</div>
<p id="ud4fc02b3" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1625074607270-0afd1133-e50b-4a6d-9ca9-094a0795641c.png" width="245" id="ueb936772" class="ne-image"></p>
<h2 id="F5SJM"><span class="ne-text">go run命令编译并运行:</span></h2>
<h3 id="ETgml"><span class="ne-text">首先创建<code class="ne-code"><span class="ne-text">helloWorld.go</span></code><span class="ne-text">文件:</span></span></h3>
<p id="u947c95b2" class="ne-p"><strong><span class="ne-text">填写以下代码:</span></strong></p>
<div class="cnblogs_Highlighter">
<pre class="brush:go;gutter:true;">package main //定义一个包,声明包名为main,表明当前是一个可执行程序(Go通过包来管理明明空间)
import "fmt" //导入一个外部包fmt
func main() { // main函数,是程序执行的入口函数
fmt.Println("Go Hello World!") //在终端打印出Go Hello World!
}</pre>
</div>
<h3 id="tdQ3A"><span class="ne-text">进入该文件所在位置打开命令行:</span></h3>
<p id="u779f23e1" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1624904200862-38153206-2a58-44f6-a45e-02881bab9573.png" width="569" id="udac571fb" class="ne-image"></p>
<h3 id="KYvUk"><span class="ne-text">使用go run命令行运行文件<code class="ne-code"><span class="ne-text">helloWorld.go</span></code><span class="ne-text">:</span></span></h3>
<p id="u8c58541f" class="ne-p"><img src="https://cdn.nlark.com/yuque/0/2021/png/1148327/1624904250662-4c2d7039-7c5e-4681-bdbc-29389d8df81e.png" width="192" id="ud72ac4cd" class="ne-image"></p>
<p id="ue1920e3d" class="ne-p"> </p>
</div>
</div>
</div>
</div>
<div id="MySignature" role="contentinfo">
<blockquote >
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者名称:</span>追逐时光者</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者简介:</span>一个热爱编程、善于分享、喜欢学习、探索、尝试新事物和新技术的全栈软件工程师。</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'>
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确的地方,欢迎指正或补充,不胜感激。
</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/Can-daydayup/p/15177665.html
頁:
[1]