Go(Golang)
Go语言开发环境配置
安装
先下载go的安装包
cd /tmp
wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz
go.dev现在没被墙
wget https://dl.google.com/go/go1.17.5.linux-amd64.tar.gz
上面的连接可能因为网络问题无法访问,可以用下面的镜像
wget https://studygolang.com/dl/golang/go1.16.4.linux-amd64.tar.gz
wget https://studygolang.com/dl/golang/go1.16.6.linux-amd64.tar.gz
wget https://studygolang.com/dl/golang/go1.17.linux-amd64.tar.gz
已安装过go的:
sudo rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
go1.16.6是当前最新版,以后会变化
未安装过go的:
sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
而配置环境变量
vim ~/.zshrc
export PATH=$PATH:/usr/local/go/bin
export GO111MODULE=on # 可选,默认不设置为auto
保存退出并用 source ~/.zshrc 激活
验证安装
go version
Go开发基础知识
goroutine(协程)基本模型和调度设计策略
高频常用命令
go mod
go mod init
go mod download
go mod tidy
go mod graph
go mod edit
go mod vendor
go mod verify
go mod why
需要注意的环境变量
GO111MODULE
设置命令:$ go env -w GO111MODULE=on
入门推荐
- A Tour of Go -- 英文官网不能访问的,可以考虑本地搭建。 中文版点击这里,翻译有些问题,建议看英文版
- the way to go
- Build Web Application with Golang 这本书就不错,Beego的作者写的
- golang developer roadmap RoadMap系列,可参考
- awesome go
- Go语言101
- Let's Go!
- Go语言圣经中文版
进阶推荐
论坛社区
因为学习资料的时间都不太够,其实去逛论坛的时间真的不多,但是还是需要适当与大家交流学习的。
代码规范
实体书推荐
最简单的入门方法,找一本好教程,对着例子敲一遍练手。
Go语言实战
-- Go in Action, 快速过一下基础。Go程序设计语言 The Go Programming Language
-- 没错,就是那本Go语言圣经。(如果是有经验的开发者,其实建议学这个的同时开始做实际项目)Golang高级编程
-- 如果看完上面的,可以看这本扩充下,电子版是开源的。
Blog推荐
多版本管理工具GVM
什么是 gvm
gvm,即 Go Version Manager,Go 版本管理器,它可以非常轻量的切换 Go 版本。对比其他语言,通常也有类似的工具,如 NodeJS 的 NVM,Python 的 virtualenv 等。
用GVM最好是安装go 1.5+的版本,1.5以下版本看官方解释。
PS:注意设置gvm后可能引发系统GOPATH自定义配置失效的问题。
Installing
To install:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Or if you are using zsh just change bash with zsh:
zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Installed GVM v1.0.22
Please restart your terminal session or to get started right away run
`source /Users/xxxx/.gvm/scripts/gvm`
Uninstalling
To completely remove gvm and all installed Go versions and packages:
gvm implode
常用命令
gvm list 查看本地系统已go版本
gvm listall 查看可安装的go版本
gvm install go1.13.5 安装指定go版本,这里是1.13.5
gvm use go1.13.5 [--default] 选择启用指定版本,果想默认一个版本,加上 --default 设置即可
gvm 目录结构
gvm 是 shell 编写,默认是安装在 $HOME/.gvm/ 目录下。查看下它的目录结构会有助我们了解它的实现。
archive # go 源码
bin # gvm 可执行文件
environments # 不同环境的环境变量配置
scripts # gvm 的子命令脚本
logs # 日志信息
pkgsets # 每个独立环境 gopath 所在路径
A tour of go的踩坑,和GOPATH设置相关
好用的插件
pip install when-changed
when-changed -r -v -1 . go run hello.go
只要hello.go变动,就会重新编译执行