【超全】Go语言超详细学习知识体系

拼搏现实的明天。 2022-03-31 07:40 512阅读 0赞









Go语言超详细学习知识体系

 

170939zrd8l8mrjiurl3z3.png.thumb.jpg







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

    1. rpcx
    2. 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

发表评论

表情:
评论列表 (有 0 条评论,512人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java知识体系题库整理

    Java知识体系及超全题库整理 从接触java开发以来就对这项技术充满热爱,由于刚开始学习不爱总结,也懒得动手,导致java知识不成体系,看过的书容易遗忘,踩过的坑不长记性,