引言
- 环境安装
- 目录结构介绍、环境变量
- GO MODULE以及godoc介绍和运用
一、安装golang
Linux下安装
解压包:sudo tar -zxvf go1.14.4.linux-amd64.tar.gz
复制go目录到/usr/local sudo mv go/ /usr.local
设置环境变量:
vi /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/usr/etc/go/www
复制代码
重载环境变量
source /etc/profile
复制代码
配置使用module模式管理依赖
go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
复制代码
window下安装
从studygolang.com/dl下载MSI安装程序。双击启动安装并遵循提示。默认会安装在c:\go 目录下,并且还将目录 c:\Go\bin 添加到您的path环境变量。
二、检测是否安装成功
go version
复制代码
如果有输出即安装成功
go env
复制代码
通过该命令查看goLang环境变量
三、go目录结构
- api 存放Go版本顺序的API增量列表文件
- bin 存放主要的标准命令文件(可执行文件 包括 go、godoc、gofmt)
- blog 存放官方所有博客的所有文档
- doc 存放标准库HTML格式的程序文档 (可以通过godoc 命令启动一个web程序查看文档)
- lib 存放一些特殊的库文件
- misc 存放一些辅助的类的说明和工具
- pkg 存放安装标准库之后的归档文件(.a结尾)
- src 存放go本身和标准库以及标准工具的所有源码文件
- test 存放用来测试和验证go本身的文件
四、go重要的3个环境变量
- GOROOT
Go的根目录
- GOBIN
GO 程序生成的可执行文件(executable file)的路径
- GOPATH
若干工作区目录的路径。是我们自己定义的工作空间
五、工作区的概念
Go 语言的工作目录,它的值是一个目录的路径,也可以是多个目录路径,每个目录都代表 Go 语言的一个工作区(workspace)。
复制代码
- bin目录 存放可执行文件
- pkg 存放归档文档(install之后生成的.a文件)
- src 存放源码文件(库源码文件、命令源码文件、test源码文件)
六、GO MODULE
概念
golang官方的包管理工具、可以不设置gopath,当然同时也会兼容gopath,必须go1.11+
GO111MODULE这个环境变量就是用来控制go的module特性的,默认值为auto。
-
on:任何情况都开启
-
off:任何情况都关闭
-
auto:如果运行的命令在gopath路径下,就关闭。不是在gopath路径下就打开。
-
下载下来的包 GOPATH/pkg/mod 目录下
-
在之前如果要下被墙的包需要配mirror,ss proxy等等各种手段,使用了module proxy之后,一切变得简单起来。启用proxy只需两步
-
设置 go env -w GO111MODULE=on
-
相关命令清单
1、初始化当前目录生成 go.mod
go mod init 名称
2、下载modules到本地cache
go mod download
3、编辑go.mod文件,选项有-json、-require和-exclude,可以使用帮助go help mod edit
go mod edit
go mod edit -fmt
//修改module
go mod edit -module [new module]
//添加和删除给定模块路径和版本的排除
go mod edit -exclude=path@version and -dropexclude=path@version
//删除require
go mod edit -droprequire=path
//替换
go mod edit -replace=old[@v]=new[@v]
//删除替换
go mod edit -dropreplace=old[@v]
//导入
go mod edit -require=path@version and -droprequire=path
4、以文本模式打印模块需求图
go mod graph
5、删除错误或者不使用的modules
go mod tidy
6、生成vendor目录
go mod vendor
7、验证依赖是否正确
go mod verify
8、查找依赖
go mod why
9、更新依赖
运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
运行 go get -u=patch 将会升级到最新的修订版本
运行 go get package@version 将会升级到指定的版本号version
复制代码
七、安装godoc(go1.13被移除)
go get golang.org/x/tools/cmd/godoc
将工作区目录下bin的可执行文件godoc 移动到 GOGIN目录(全局都可以使用)
执行godoc 看是否成功
godoc -http=127.0.0.1:8081 -index 启动文档的web程序
浏览器打开 127.0.0.1:8081
复制代码
系列文章