【超全】Go语言超详细学习知识体系
Go语言超详细学习知识体系 |
|
Go编程入门 |
- 基础语法
环境安装
下载地址 https://golang.google.cn/dl/
GOPATH、GOROOT两个关键环境变量
基础结构
包的概念
程序执行过程—->import package—>init—>main
数据类型和变量
常量const
- 变量var、:=
基础类型
bool
整型
string字符串
错误类型 error复杂数据类型
数组和切片slice
- map
- struct结构体
- interface接口
指针
控制流程
while
- if
- switch
for
并发与通信
Goroutine 协程
Channel 管道
函数
方法
函数类型
Go标准库常用包
文件 os.file 包
- 时间和日期及定时器 time包
- 数据协议解析 encoding/json 、encoding/xml
- 字符串处理 strings
- 正则处理 regexp
- 网络处理 net
锁与同步 sync
入门书籍推荐
《Go语言实战》作者:BrianKetelsen
- 《Go语言学习笔记》作者:雨痕
- 《Go语言圣经》
Go常用编辑器及IDE |
高手级
Vim+vim-go插件
Goland
https://www.jetbrains.com/go/download/
LiteIDE
https://github.com/visualfc/liteide
sublime
Go高级编程 |
- Go调度器GPM模型
https://www.zhihu.com/question/20862617/answer/27964865
Go的内存布局
https://golang.org/ref/mem(需翻墙)
Go指针高级
http://www.sohu.com/a/168217543_99930294
Go与C混合编程 Cgo模块
https://github.com/golang/go/wiki/cgo
垃圾自动回收机制 GC
Goroutine调度
Channel调度
channel阻塞机制
带缓冲与无缓冲Channel
Go工具链 |
▼Go指令
go get 下载安装第三方库
git
proxy
go install 安装编译第三方库
https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/01.3.md#go-install
▼编译优化
- string和[]byte
- 逃逸优化
- 函数内联
GC优化
vendoring
https://golang.org/cmd/go/#hdr-Vendor_Directories
交叉编译
https://rakyll.org/cross-compilation/
Go调用C语言
https://github.com/golang/go/wiki/cgo
Python读取Go
https://blog.filippo.io/building-python-modules-with-go-1-5/
Ruby读取Go
https://c7.se/go-and-ruby-ffi/
Swift读取Go
https://rakyll.org/swift/
Go编译共享库so
https://github.com/jbuberel/buildmodeshared
Go与区块链 |
go-ethereum(以太坊)
https://github.com/ethereum/go-ethereum
go-ipfs
https://github.com/ipfs/go-ipfs
hyperledger fabric(最热区块链框架)
https://github.com/hyperledger/fabric
eos-go(新一代DPOS机制)
https://github.com/eoscanada/eos-go
Go社区 |
Go中国社区
https://gocn.io
Go Forum 国外主流论坛
https://forum.golangbridge.org
Go 中国邮件列表
https://groups.google.com/forum/#!forum/golang-china
Gopher大会
Gopher China 2015
- Gopher China 2016
- Gopher China 2017
Gopher China 2018
GopherChina
http://www.gopherchina.org
其他国家大会列表
https://github.com/golang/go/wiki/Conferences
Go头像制作
https://gopherize.me
Go开源项目 |
▼Web框架
beego(中国出品)
https://github.com/astaxie/beego
gin(轻量级)
https://github.com/gin-gonic/gin
martini
https://github.com/go-martini/martini
echo
https://github.com/labstack/echo
revel
https://github.com/revel/revel
iris
https://github.com/kataras/iris
▼静态建站工具
hugo
https://github.com/gohugoio/hugo
▼WebServer
caddy
https://github.com/mholt/caddy
▼微服务
go-kit
https://github.com/go-kit/kit
go-micro
https://github.com/micro/go-micro
istio
https://github.com/istio/istio
▼人工智能
- go-learn(机器学习)
▼游戏
pixel(2d-3d游戏引擎)
https://github.com/faiface/pixel
g3n/engine(3D建模游戏引擎)
https://github.com/g3n/engine
▼云计算容器
moby
https://github.com/moby/moby
rkt
https://github.com/rkt/rkt
Pouch
https://github.com/alibaba/pouch
▼容器编排
Kubernetes
https://github.com/kubernetes/kubernetes
swarm
https://github.com/docker/swarm
▼服务发现
Consul
https://github.com/hashicorp/consul
▼云计算Function
Faas
https://github.com/openfaas/faas
apex
https://github.com/apex/apex
▼DevOps一体化自动运维管理
▼Monitor
Prometheus
https://github.com/prometheus/prometheus
cadvisor
https://github.com/google/cadvisor
ctop
https://github.com/bcicen/ctop
beats
https://github.com/elastic/beats
▼Dev
rancher
https://github.com/rancher/rancher
minikube
https://github.com/kubernetes/minikube
packer
https://github.com/hashicorp/packer
▼Key/Value存储
etcd
https://github.com/coreos/etcd
bolt
https://github.com/boltdb/bolt
▼时序数据库
influxdb
https://github.com/influxdata/influxdb
▼分布式数据库
cockroach
https://github.com/cockroachdb/cockroach
tidb
https://github.com/pingcap/tidb
▼图形数据库
cayley
https://github.com/cayleygraph/cayley
▼其他
noms
https://github.com/attic-labs/noms
vitess
https://github.com/vitessio/vitess
系统工具/命令行工具 |
ngrok
https://github.com/inconshreveable/ngrok
frp
https://github.com/fatedier/frp
gotty
https://github.com/yudai/gotty
micro
https://github.com/zyedidia/micro
kcptun
https://github.com/xtaci/kcptun
wuzz
https://github.com/asciimoo/wuzz
v2ray-core
https://github.com/v2ray/v2ray-core
termui
https://github.com/gizak/termui
cow
https://github.com/cyfdecyf/cow
teleport
https://github.com/gravitational/teleport
comcast
https://github.com/tylertreat/comcast
wego
https://github.com/schachmat/wego
gogs
https://github.com/gogits/gogs
中间件 |
traefik
https://github.com/containous/traefik
nsq
https://github.com/nsqio/nsq
codis
https://github.com/CodisLabs/codis
logrus
https://github.com/sirupsen/logrus
groupcache
https://github.com/golang/groupcache
rpc
grpc
①https://grpc.io
❶rpcx
a. [https://github.com/smallnest/rpcx][https_github.com_smallnest_rpcx]
测试/持续交付 |
drone
https://github.com/drone/drone
terraform
https://github.com/hashicorp/terraform
goreplay
https://github.com/buger/goreplay
delve
https://github.com/derekparker/delve
图像处理 |
primitive
https://github.com/fogleman/primitive
caire
https://github.com/esimov/caire
安全 |
vault
https://github.com/hashicorp/vault
vuls
https://github.com/future-architect/vuls
爬虫 |
goquery
https://github.com/PuerkitoBio/goquery
文件系统 |
ransfer.sh
https://github.com/dutchcoders/transfer.sh
seaweedfs
https://github.com/chrislusf/seaweedfs
minio
https://github.com/minio/minio
syncthing
https://github.com/syncthing/syncthing
rclone
https://github.com/ncw/rclone
参考文献:
http://bbs.itheima.com/thread-403416-1-1.html
还没有评论,来说两句吧...