【超全】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

测试/持续交付
  • 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

你可能感兴趣的:(golang学习)