golang 学习一:安装以及环境配置

开源项目

golang官网

golang代理

Go下载安装

官网根据操作系统安装即可

环境配置

注:go > 1.13版本的在windows中安装时会自动设置环境变量,不在需要我们自己动手设置,如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-12BYf93T-1637135095213)(C:\Users\User\AppData\Roaming\Typora\typora-user-images\image-20211117153550449.png)]

由于自动设置了环境变量,故在终端可以直接执行 go env 查看 go 环境的配置信息

C:\Users\User>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\User\AppData\Local\go-build
set GOENV=C:\Users\User\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\User\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\User\AppData\Local\Temp\go-build996279958=/tmp/go-build -gno-record-gcc-switches

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4sAlco5j-1637135095217)(C:\Users\User\AppData\Roaming\Typora\typora-user-images\image-20211117144826616.png)]

Go mod

概念及开启
  1. 注:go module是 Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具

  2. C:\Users\User>go env -w GO111MODULE=on
    
    # 设置GO111MODULE=on之后就可以使用go module了,以后就没有必要在GOPATH中创建项目了,并且还能够很好的管理项目依赖的第三方包信息。
    
    # 使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。
    
常用的go mod命令如下:
1. go mod download		下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
2. go mod edit 			编辑go.mod文件,整理依赖
3. go mod graph 		打印模块依赖图
4. go mod init 			初始化当前文件夹, 创建go.mod文件
5. go mod tidy 			增加缺少的module,删除无用的module
6. go mod vendor 		将依赖复制到vendor下
7. go mod verify 		校验依赖
8. go mod why 			解释为什么需要依赖
go get 命令下载安装依赖 (go mod download)
  1. 在项目中执行go get命令可以下载依赖包,并且还可以指定下载的版本。

    • 运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
    • 运行 go get -u=patch 将会升级到最新的修订版本
    • 运行 go get package@version 将会升级到指定的版本号version
  2. 如果下载所有依赖可以使用go mod download命令。

整理依赖

我们在代码中删除依赖代码后,相关的依赖库并不会在go.mod文件中自动移除。这种情况下我们可以使用 go mod tidy 命令更新 go.mod 中的依赖关系。

使用 go mod edit
格式化

因为我们可以手动修改go.mod文件,所以有些时候需要格式化该文件。Go提供了一下命令:

go mod edit -fmt
添加依赖项
go mod edit -require=golang.org/x/text
移除依赖项

如果只是想修改go.mod文件中的内容,那么可以运行go mod edit -droprequire=package path,比如要在go.mod中移除golang.org/x/text包,可以使用如下命令:

go mod edit -droprequire=golang.org/x/text

关于go mod edit的更多用法可以通过 go help mod edit 查看。

在项目中使用 go mod
既有项目

如果需要对一个已经存在的项目启用go module,可以按照以下步骤操作:

  1. 在项目目录下执行go mod init,生成一个go.mod文件。
  2. 执行go get,查找并记录当前项目的依赖,同时生成一个go.sum记录每个依赖库的版本和哈希值。
新项目

对于一个新创建的项目,我们可以在项目文件夹下按照以下步骤操作:

  1. 执行go mod init 项目名命令,在当前项目文件夹下创建一个go.mod文件。
  2. 手动编辑go.mod中的require依赖项或执行go get自动发现、维护依赖。

GOPROXY

GOPROXY表示的是go的代理设置,之所以有这个环境变量,是因为go这种语言不像C语言,在C语言中,如果我们想要使用别人的第三方代码,一般有两种途径:

  1. 将第三方代码源码合并到自己的工程文件中,再合并编译。
  2. 将第三方代码编译生成的共享库***.so或*.dll** 文件放到工程目录下,然后通过条件编译来使用。

而在使用go语言开发的过程中引入第三方代码的库地址(比如git仓库),然后在编译的时候,IDE会自动的拉取第三方库文件到当前工程。这样做虽然很方便,但是带来了一个问题:网速和限制,因为一些第三方代码库是在国外服务器上的,因为一些限制,我们不能很顺利的使用和下载这些仓库,这样就会导致下载缓慢或者失败,所以这个时候就需要一个代理来实现下载。

Go1.13之后GOPROXY默认值为 https://proxy.golang.org,在国内是无法访问的,所以十分建议大家设置GOPROXY,这里我推荐使用 goproxy.cn

C:\Users\User>go env -w GOPROXY=https://goproxy.cn,direct

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWQVOJfB-1637135095222)(C:\Users\User\AppData\Roaming\Typora\typora-user-images\image-20211117153227465.png)]

VS Code 下载安装配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值