go是google开发的一种静态、强类型、编译型、并发型,并具有垃圾回收功能的类c编程语言。2009以开源项目的形式发布,2012年发布1.0稳定版本,距今已经十年了,其性能类似于java和c++,但速度极快,适合搭载于web服务器,用于高性能分布式系统开发。
作为热门的编程语言之一,go语言吸引了很多关注。根据tiobe编程排行榜,2016年,go语言成为年度最受欢迎的编程语言;2019年,go语言的热度不减,仍稳居排行榜前20名。在基于云的服务中,go语言因其在编译速度和执行性能上的优越性,具有其他编程语言无法比拟的优势。随着云计算的迅速发展,更多基于go语言的项目正在不断涌现。
今天,营长就为大家推荐了一份来自github的2019年go开发者指南,帮助大家快速入门go语言。
该指南提供了详细的进阶路线图,列出了学习go开发所需的各类知识和技能,而且每个知识点也附上啦相应的学习资源。相信无论是零基础的新手,还是对go语言有一定了解的开发者,都能够有所收获。
go开发者路线图
学习资源整理
1、先决条件
1)go:https://golangbot.com/
2)dep工具,go模组:https://github.com/golang/dep
3)sql:https://www.w3schools.com/sql/default.asp
2、基本开发技能
1)学习git,在github上建立一些仓库,与他人分享你的代码:https://www.w3schools.com/sql/default.asp
2)了解http(s)协议,request方法(get,post,put,patch,delete,options)
3)不要害怕使用google——google搜索的力量:http://www.powersearchingwithgoogle.com/
4)看一些和数据结构及算法有关的书
5)学习关于认证的基础实现
6)学习面向对象原则
3、命令行工具
1)cobra:https://github.com/spf13/cobra
2)urfave/cil:https://github.com/urfave/cli
4、网络框架/路由
1)echo:https://github.com/labstack/echo
2)beego:https://github.com/astaxie/beego
3)gin:https://github.com/gin-gonic/gin
4)revel:https://github.com/revel/revel
5)chi:https://github.com/go-chi/chi
5、数据库
1)关系型
sqlserver:https://www.microsoft.com/en-us/sql-server/sql-server-2017
postgresql:https://www.postgresql.org/
mariadb:https://mariadb.org/
mysql:https://www.mysql.com/
2)云数据库
cosmosdb:https://docs.microsoft.com/en-us/azure/cosmos-db
dynamodb:https://aws.amazon.com/dynamodb/
3)搜索引擎
elasticsearch:https://www.elastic.co/
solr:http://lucene.apache.org/solr/
sphinx:http://sphinxsearch.com/
4)nosql
mongodb:https://www.mongodb.com/
redis:https://redis.io/
apachecassandra:http://cassandra.apache.org/
litedb:https://github.com/mbdavid/litedb
ravendb:https://github.com/ravendb/ravendb
couchdb:http://couchdb.apache.org/
6、对象关系的映射框架
gorm:https://github.com/jinzhu/gorm
xorm:https://github.com/go-xorm/xorm
7、高速缓存
gcache:https://github.com/bluele/gcache
分布式缓存
go-redis:https://github.com/go-redis/redis
gomemcached:https://github.com/bradfitz/gomemcache
8、日志
1)日志框架
zap:https://github.com/uber-go/zap
zerolog:https://github.com/rs/zerolog
logrus:https://github.com/sirupsen/logrus
2)日志管理系统
sentry.io:http://sentry.io/
loggly.com:https://loggly.com/
9、实时通讯
socket.io:https://socket.io/
10、客户端
1)rest
gentelman:https://github.com/h2non/gentleman
grequests:https://github.com/kennethreitz/grequests
heimdall:https://github.com/heimdal/heimdal
2)graphql:https://graphql.org/
11、最好知道的库
validator:https://github.com/chriso/validator.js/
glow:https://github.com/pytorch/glow
gjson:https://github.com/tidwall/gjson
authboss:https://github.com/volatiletech/authboss
go-underscore:https://github.com/ahl5esoft/golang-underscore
12、测试
1)单元,行为,集成测试
gomock:https://github.com/golang/mock
testify:https://github.com/stretchr/testify
ginkgo:https://github.com/onsi/ginkgo
gomega:https://github.com/onsi/gomega
gocheck:https://github.com/go-check/check
godog:https://github.com/data-dog/godog
goconvey:https://github.com/smartystreets/goconvey
2)端对端测试
selenium:https://github.com/tebeka/selenium
endly:https://github.com/viant/endly
13、任务调度
gron:https://github.com/roylee0704/gron
jobrunner:https://github.com/bamzi/jobrunner
14、微服务
1)消息代理
rabbitmq:https://www.rabbitmq.com/tutorials/tutorial-one-javascript.htmlhttps://www.npmjs.com/package/kafka-node
apachekafka:https://www.npmjs.com/package/kafka-node
activemq:https://github.com/apache/activemq
azureservicebus:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview
2)消息总线
message-bus:https://github.com/vardius/message-bus
3)框架
gokit:https://github.com/go-kit/kit
micro:https://github.com/micro/go-micro
4)rpc
protocolbuffers:https://github.com/protocolbuffers/protobuf
grpc-go:https://github.com/grpc/grpc-go
grpc-gateway:https://github.com/grpc-ecosystem/grpc-gateway
5、go模式:https://github.com/tmrts/go-patterns
TCS使用语音穿戴装置 员工同步更新信息
都说ios流畅,ios到底比安卓好在哪?
智能温度巡检仪在工业生产中的应用
英特尔携手生态伙伴探索元宇宙医疗创新实践,助力医疗智能化高质量发展
2018什么电视盒子比较好?全国最畅销的四大品牌
一份来自Github的2019年Go开发者指南,帮助大家快速入门Go语言
奥运女排朱婷伤重背水一战,峰米C2成绝佳助威选择
IIC-China 2010参展商展前专访:技领半导体
未来人脑和人工智能将协同工作
3种继电器继电器的工作原理和特性
Avago推出16千兆光纤通道AFBR-57F5PZ SFP+收发器
复旦微电子携手Semtech推出MCU+SX126x参考设计
杰发科技AutoChips凭借卓越设计能力与技术服务水平荣获“年度中国创新IC设计公司”大奖
采用MAX25014的LED背光驱动系统的低输入电压工作
共享空调现身广州!共享空调真是实惠吗?押金3000元,1元一小时,网友:还不如自己买一台
IGBT模块封装之高精贴片
谷歌将同意Android支持MIPS架构
ETNO:须始终坚决支持5G标准的“全球统一”
二氧化碳激光器的原理_二氧化碳激光器的工作波长
自制调频无线话筒