上卷 程序设计
中卷 标准库
- bufio 1.18
- bytes 1.18
- io 1.18
- container 1.18
- encoding 1.18
- crypto 1.18
- hash 1.18
- index 1.18
- sort 1.18
- context 1.18
- database 1.18
- connection
- query
- queryrow
- exec
- prepare
- transaction
- scan & null
- context
- tcp
- udp
- http
- server
- handler
- client
- h2、tls
- url
- rpc
- exec
- signal
- embed 1.18
- plugin 1.18
- reflect 1.18
- runtime 1.18
- KeepAlived
- ReadMemStats
- SetFinalizer
- Stack
- sync 1.18
- atomic
- mutex
- rwmutex
- waitgroup
- cond
- once
- map
- pool
- copycheck
- nocopy
- unsafe 1.18
- fmt 1.18
- log 1.18
- math 1.18
- time 1.18
- timer
下卷 运行时
源码剖析
附录
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
设置
工具链环境变量。
1. 查看
查看所有变量,或输出单个值。
$ go env GOARCH="amd64" GOCACHE="/root/.cache/go-build" GOOS="linux" GOPATH="/root/.go" ... # 查看单个值。 $ go env GOPATH /root/.go # 查看环境变量帮助信息。 $ go help environment
除系统环境变量(bash env export)外,还可写入专用配置文件。
如同时设置,则系统环境变量优先级更高。
配置文件名:
go env GOENV
# 添加设置。 $ go env -w GOPATH="$HOME/go2" warning: go env -w GOPATH=... does not override conflicting OS environment variable # 查看配置文件。 $ cat "`go env GOENV`" GOPATH=/root/go2 # 删除设置。 $ go env -u GOPATH # 删除设置。
2. 缓存
用 GOMODCACHE 设置模块缓存(下载)位置,默认 GOPATH[0]/pkg/mod
。
而 GOCACHE 缓存编译和测试结果。实现增量编译,缩短执行时间。
# 查看缓存目录。 $ tree -d -L 2 `go env GOMODCACHE` /root/go `-- pkg |-- mod `-- sumdb # 清除模块缓存(按需重新下载)。 $ go clean -modcache
# 查看编译缓存目录。 $ ls `go env GOCACHE` 00 09 12 1b 24 2d 36 3f 48 ... 01 0a 13 1c 25 2e 37 40 49 ... # 查看编译过程。 $ go build -x # 清除编译缓存。 $ go clean -cache
3. 代理
工具链从 GOPROXY 所设置代理服务下载第三方包。
- 永久存储(含依赖),只读(安全)。
- 不依赖版本控制工具(VCS, git)。
- 含验证信息。
以逗号分隔的多个地址。当前一地址出错(404 或 410)时,则继续尝试下一个代理。
最后以
direct
结尾,表示前面代理地址全部失效时,直接去源地址(github
)获取。默认使用
golang.org
,国内无法访问,可替换成goproxy.cn
或goproxy.io
。
以
,
分隔,仅在 404、410 时尝试下一代理。以
|
分隔,则返回任何 HTTP 错误都将尝试下一代理。
# 默认代理。 $ go env GOPROXY https://proxy.golang.org,direct
# 自定义地址。 $ go env -w GOPROXY="https://goproxy.cn,https://goproxy.io,direct"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论