Windows Go 开发环境下载、安装并配置
前言
对于我们Windows用户而言,Go提供两种环境安装方式(源码安装除外):
1、MSI安装(MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。):程序在安装过程中会自动配置Go所需要的环境变量。
2、ZIP安装:需要你手动设置一些环境变量。
Go重要环境变量介绍
Go开发环境依赖于一些操作系统环境变量,你最好在安装Go之前就设置好这些系统环境变量配置。如果你使用的是Windows的话,你完全不用进行手动设置,Go将被默认安装在目录c:/go
(当然你也可以修改GOROOT的安装位置如:D:/Go
)下。这里列举几个最为重要的环境变量:
- GOROOT 是Go在你的电脑上的安装位置,它的值一般都是
c:/go
,当然,你也可以安装在别的地方。 - GOPROXY 是控制Go Module下载的来源,有助于确保构建的确定性和安全性(代理的配置可以在goproxy.io这个网站上找到说明)。
- GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。
- GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。
- GOBIN 表示编译器和链接器的安装位置,默认是
GOROOT/bin
,如果你使用的是Go 1.0.3
及以后的版本,一般情况下你可以将它的值设置为空,Go 将会使用前面提到的默认值。 - GOPATH Go开发包在安装完成后会为设置一个默认目录,并且在
Go1.14
及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默认的即可。
Go环境下载
Go官网下载地址(需要FQ):
Go官方镜像站(国内用户推荐):
Go语言中文网下载(国内用户推荐):
选择我们对应系统的安装包下载即可:
Go1.16.5安装图解
Go安装目录清单
打开刚才设置的安装地址:D:\Go
(GOROOT)
Go安装目录(GOROOT
)的文件夹结构简单介绍如下所示:
/api
:每个版本api变更差异/bin
:go源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)等
/doc
:英文版的Go文档/lib
:包含项目所引用、依赖的一些库文件
/misc
:包含与支持 Go 编辑器有关的配置文件以及 cgo 的示例,杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等/pkg
:包含Windows 平台编译好的中间文件
/src
:包含源代码构建脚本和标准库的包的完整源代码/test
:测试用例存放处
验证是否安装配置成功:
win+r: cmd:
go version
或者:
go help
查看系统中配置的Go环境变量
命令:go env
GOPROXY(重要Go默认下载依赖库代理修改)
关于GOPROXY
由于国内的网络环境问题,我们可以通过配置GOPROXY避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建。
查看本机环境默认GoPROXY配置,并修改为国内可访问
注意:在Go1.14版本之后,都推荐使用go mod
模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH
下面的src目录了,你可以在你电脑的任意位置编写Go代码。(网上有些教程适用于1.11版本之前。)
由Go环境变量图可知,本机的默认GoPROXY配置是:
GOPROXY=https://proxy.golang.org,direct
,由于国内访问不到https://proxy.golang.org
,所以我们需要换一个PROXY,这里推荐使用https://goproxy.io
或https://goproxy.cn
。
执行下面的命令修改GOPROXY:
go env -w GOPROXY=https://goproxy.cn,direct
go run命令编译并运行:
首先创建helloWorld.go
文件:
填写以下代码:
package main //定义一个包,声明包名为main,表明当前是一个可执行程序(Go通过包来管理明明空间) import "fmt" //导入一个外部包fmt func main() { // main函数,是程序执行的入口函数
fmt.Println("Go Hello World!") //在终端打印出Go Hello World!
}
进入该文件所在位置打开命令行:
使用go run命令行运行文件helloWorld.go
:
Windows Go 开发环境下载、安装并配置的更多相关文章
- 【C#】VS2015开发环境的安装和配置(二)2016-08-03更新
分类:C#.VS2015.WPF.ASP.NET MVC.Android.iOS.Unity3D: 更新日期:2016-08-03 按下面介绍的步骤安装即可. 一.安装JDK和Android SDK ...
- 【C#】VS2015开发环境的安装和配置(一)2016-08-03更新
分类:C#.VS2015.WPF.ASP.NET MVC.Android.iOS.Unity3D: 更新日期:2016-08-03 一.简介 为了避免网上乱七八糟的过时介绍,避免误导初学者,这次把至2 ...
- go 语言开发环境的安装与配置
go 语言开发环境的安装与配置 编辑器选择 一直以来都是用sublime,但是听说sublime对于golang的插件支持并不是特别完善,并且VS Code只要在自身所带的扩展商店里安装go插件就可以 ...
- 教你10分钟内在Windows上完成Rails开发环境的安装和配置
原文:http://www.cnblogs.com/tambor/archive/2011/12/25/rails_anzhuang_railsinstaller.html 一般来说,Windows开 ...
- Win7 32位系统下Java开发环境的安装及配置
目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境, ...
- VS2015开发环境的安装和配置 2016-07-03更新
创建日期:2016-07-03 一.简介 为了避免网上乱七八糟的过时介绍,避免误导初学者,这次把至2016年6月底C#开发环境各种版本的更新和安装过程重新整理一下贡献出来.目的是为了让对C#感兴趣的初 ...
- Windows下Linux 环境 Cygwin安装及配置 基本工具使用
用久了Ubuntu开发环境,切换到windows多少有些不爽,想在windows下享用linux便捷的工具可以安装强大的Cygwin,本人也是初次使用中学习.本文主要目的让你可以通过cygwin使用基 ...
- 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程
目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...
- [flutter+dart] windows7下开发环境的安装与配置
前言 博主是做嵌入式的,参加工作时间也不久,而且是非科班出身,之前从未接触过移动开发.最近了解到了flutter框架和dart语言,想作为第二语言学习一下,因此会从最基础的环节开始,以此博客作为记录, ...
随机推荐
- 从S3中拷贝或同步文件
p.p1 { margin: 0; font: 16px "Helvetica Neue"; color: rgba(53, 53, 53, 1) } p.p2 { margin: ...
- git rebase(变基)操作
1.rebase(变基)操作 注意事项:rebase 改变分支的根源,绝对不要在与其他人共享的分支上进行操作rebase黄金法则:绝不要在公共的分支上使用它! 1.1git merge 与 git r ...
- Lua表达式
目录 算术运算符 关系运算符 逻辑运算符 字符串连接(more) string.format转义符的使用 优先级 算术运算符 Lua 的算术运算符如下表所示: 示例代码:$expr1.lua prin ...
- CURL 实战下载
#include <string> #include <stdio.h> #include <iostream> #include<fstream> # ...
- JUnit5依赖注入与测试接口
依赖注入 以前的JUnit的类构造方法和测试方法都是不能有参数的,JUnit Jupiter有一个颠覆性的改进,就是允许它们有入参,这样就能做依赖注入了. 如果你对pytest的fixture有了解的 ...
- python使用笔记008-模块
模块的原理: 1.就是一个python文件 2.标准模块是python自带的 3.第三方模块需要自己安装 导入模块的顺序: 1.从当前目录下找 2.从python的环境变量中找 一.自己定义的模块 1 ...
- 创建自己的RSA密钥来保护web.config 加密数据库连接字符串
通过创建自己的RSA密钥来保护web.config1创建RSA密钥:C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis - ...
- ES6新增语法(四)——面向对象
ES6中json的2个变化 简写:名字和值相同时,json可以可以简写 let a=12,b=5; let json = { a, b } console.log(json) // { a:12 , ...
- Java基础00-接口21
1. 接口 1.1 接口概述 1.2 接口的特点 1.3 接口的成员特点 1.3.1 案例:猫和狗 public interface Jumpping { public void jump(); } ...
- 12Java进阶-IO与XML
1.File File:java.io.File:代表一个实际的文件或目录. 常用构造方法File file = new File("path"); 其它构造方法: File(St ...