MacOS 安装GO环境
一、下载安装包
- 访问地址 golang.google.cn/dl/
- 点击 Apple macOS 中的链接下载软件包至本地
- 双击PKG包,即可进入安装向导
- 点下一步直至最后,即可完成GO的安装
二、验证GO的版本
- go version 命令,能够返回当前安装的GO的版本
go version go1.17.8 darwin/amd64
三、配置代理
由于下载的GO版本比较新,在配置【GO111MODULE】会与1.11之前的版本有区别。下面讨论两个参数【GO111MODULE】【GOPROXY】
3.1 GO111MODULE
在社区文章中看到如下解释:
- 2009年开始推出GO的时候,并没有包含包管理器的功能,使用go get(GO1.17中已过时)进行依赖的获取,获取的所有源存储在
$ GOPATH / src
中 ; - GO 1.11版本后引入GO模块,GO Modules不在使用GOPATH存储每个git checkout ,而是使用go.mod进行版本标记,并跟踪每个软件包的版本;
- 从此,『GOPATH 行为』与『Go Modules 行为』之间的交互已成为 Go 的最大难题之一
- GO111MODULE 是一个环境变量,可以在使用 go 更改 Go 导入包的方式时进行设置。GO111MODULE的默认值岁版本变迁不同
GO111MODULE with Go 1.11 and 1.12 自行配置
GO111MODULE with Go 1.13 默认值:auto
GO111MODULE with Go 1.14 默认值:auto
GO111MODULE with Go 1.16 默认值:on
GO111MODULE with Go 1.17 默认值:on auto与on相同
GO111MODULE=off,无模块支持,强制采用GOPATH模式来查找
GO111MODULE=on,模块支持,go命令行会使用modules,需要依赖go.mod的文件
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
(1)当前目录在GOPATH/src之外且该目录包含go.mod文件,开启模块支持。
(2)当前文件在包含go.mod文件的目录下面。
- 手动设置方式:go env -w GO111MODULE=on
3.2 GOPROXY
- 是GO的代理设置,拉取一些第三方库文件
- 默认是:GOPROXY=”h ttps://proxy.golang.org,direct”
- 国内代理:GOPROXY=https://goproxy.cn,direct
- go env -w GOPROXY=https://goproxy.cn,direct
四、初始化项目
- go mod init hello
- 会出现 go.mod 文件,可以在GO111MODULE=on/auto的情况下进行依赖版本管理
- 编写代码后,拉取依赖包的方式有【go get 包名】(新版本已经过时)/【go mod tidy】(此命令扫描所有代码的import命令,并进行依赖包的拉取)
五、编译运行代码
- go build 生成编译后的对象(go mod init后跟的名字)
- ./hello 即可执行
引用
Why is GO111MODULE everywhere, and everything about Go Modules (updated with Go 1.17)
Featured Tags
工具类
XML
JAVA
Java
Mybatis
反射
代理模式
日志
工厂方法模式
装饰器模式
结果集映射
Web
RESTful
WebAPI规范
SQL
Redis
Jira
SynapseRT
有限状态机 State Machine
statemachine
SpringBoot
IDEA
Tomcat
Vue
Docker
Springboot
Apache Ignite
项目发布与调试
白帽子讲web安全
黑名单
通用化
企业中台实践
MacOS
docker
minio
springboot
分布式存储
Postgres
数据备份
数据恢复
K8S
抖音小程序
开发实践
SpringCloud
Skywalking
Nacos
Kubernetes
Secret
ConfigMap
Git
GitOps
云原生
RocketMQ
ActiveMQ-Artemis
ClickHouse
Kamailio
sipp
Homer
heplify
heplify-server
HEP