golang实际使用教程(Golang之环境安装)
golang实际使用教程(Golang之环境安装)src:项目库目录,默认会包含go内置库如os、time等,我们自己的源代码一般放在GOPATH下的src目录pkg:一般存放平台相关包目录,同时编译后生成的文件也会存在此目录,如果GO11MODULE值为on,通过go get方式下载的包将保存在这个目录下go version //go version go1.17.1 darwin/amd640x02 -- 环境介绍Golang安装成功后需要了解几个环境,GOROOT、GOPATH、GO111MODULE。想要知道这几个变量的当前值可以通过命令查看:go env // 查看当前go环境变量GOROOTGOROOT就是Golang的安装目录,和JAVA_HOME类似,默认位置在/usr/local/go下(windows系统默认C:\go)。GOROOT目录结构如下:bin:go各种命令目录
写在前面:Golang环境搭建很简单,Golang官网提供各种环境安装包,都是开箱即用型。
0x01 -- 安装首先去官网(https://golang.org/doc/install#download)下载对应版本的安装包,我使用的是MacOS,如果需要其他系统的版本可以点击下载其他版本:
官网下载
下载后可以直接安装,安装完成后可以通过命令行验证是否安装成功:
go version //go version go1.17.1 darwin/amd64
0x02 -- 环境介绍
Golang安装成功后需要了解几个环境,GOROOT、GOPATH、GO111MODULE。想要知道这几个变量的当前值可以通过命令查看:
go env // 查看当前go环境变量
GOROOT
GOROOT就是Golang的安装目录,和JAVA_HOME类似,默认位置在/usr/local/go下(windows系统默认C:\go)。GOROOT目录结构如下:
bin:go各种命令目录
pkg:一般存放平台相关包目录,同时编译后生成的文件也会存在此目录,如果GO11MODULE值为on,通过go get方式下载的包将保存在这个目录下
src:项目库目录,默认会包含go内置库如os、time等,我们自己的源代码一般放在GOPATH下的src目录
GOPATH在go1.11版本之后go引入了新的包管理工具module,GOPATH也不再推荐使用了,但是建议还是稍微了解下,GOPATH可以说是一个开发者的工作区,主要有三个目录:
bin: go程序编译后二进制文件存放目录(注意区别goroot下bin)
pkg: 开发过程中自定义的包可以放在这个目录,go build等编译过程产生的的中间缓存文件也会存在这里
src:开发源代码存在目录,src下可以创建多个项目目录
GO111MODULE在go1.16之前需要执行开启,命令如下:
go env -w GO111MODULE=on 打开 // go env -w GO111MODULE=off 关闭
最新版本的go默认是开启的,go111module有三个值:
on: 启动go mod,项目通过go.mod管理依赖包 go get下载的包将保存在GOPATH/pkg/mod下
off: 关闭go mod 项目通过gopath寻找依赖包 go get下载的包将保存在GOPATH/src下
auto:只有项目识别到go.mod文件才会启用go mod
0x03 -- go控制台命令Golang开发时会经常用到一些命令,开发者需要熟悉这些命令的使用方式,通过go --help可以获取go所有命令及描述信息,我就不一一解释其含义了,相信作为开发者的你完全可以get it:
Go is a tool for managing Go source code.
Usage:
go <command> [arguments]
The commands are:
bug start a bug report
build compile packages and dependencies
clean remove object files and cached files
doc show documentation for package or symbol
env print Go environment information
fix update packages to use new APIs
fmt gofmt (reformat) package sources
generate generate Go files by processing source
get add dependencies to current module and install them
install compile and install packages and dependencies
list list packages or modules
mod module maintenance
run compile and run Go program
test test packages
tool run specified go tool
version print Go version
vet report likely mistakes in packages
Use "go help <command>" for more information about a command.
Additional help topics:
buildconstraint build constraints
buildmode build modes
c calling between Go and C
cache build and test caching
environment environment variables
filetype file types
go.mod the go.mod file
gopath GOPATH environment variable
gopath-get legacy GOPATH go get
goproxy module proxy protocol
importpath import path syntax
modules modules module versions and more
module-get module-aware go get
module-auth module authentication using go.sum
packages package lists and patterns
private configuration for downloading non-public code
testflag testing flags
testfunc testing functions
vcs controlling version control with GOVCS
Use "go help <topic>" for more information about that topic.
0x04 -- 总结
Golang的环境搭建很直观很透彻,不过新入门的开发者需要了解下GOPATH、GOROOT、GOMOD的关系和区别,GOMOD是官方最新推荐的包管理工具所以后续会专门讲解下。
想要更加深入地了解各个环境变量对开发的影响,想要更加快速地进行开发,多多动手实践下,才能快速理解其中奥妙。
谢谢关注我的人,更多的关注量也是我持续写作的动力:)