MacOS 安装GO环境与测试

一、下载安装包

  • 访问地址:golang.google.cn
  • 点击 Apple macOS 中的链接下载软件包至本地
  • 双击PKG包,即可进入安装向导
  • 点下一步直至最后,即可完成GO的安装

二、验证GO的版本

  • go version 命令,能够返回当前安装的GO的版本
go version go1.17.8 darwin/amd64

三、配置代理

由于下载的GO版本比较新,在配置【GO111MODULE】会与1.11之前的版本有区别。下面讨论两个参数【GO111MODULE】【GOPROXY】

3.1 GO111MODULE

在社区文章中看到如下解释:

  1. 2009年开始推出GO的时候,并没有包含包管理器的功能,使用go get(GO1.17中已过时)进行依赖的获取,获取的所有源存储在$ GOPATH / src 中 ;
  2. GO 1.11版本后引入GO模块,GO Modules不在使用GOPATH存储每个git checkout ,而是使用go.mod进行版本标记,并跟踪每个软件包的版本;
  3. 从此,『GOPATH 行为』与『Go Modules 行为』之间的交互已成为 Go 的最大难题之一
  4. 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文件的目录下面。
  1. 手动设置方式: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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c_zyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值