2019 Go 开发者路线图,请收下这份指南!
整理 | Rachel
责编 | 阿司匹林
出品 | AI科技大本营(ID: rgznai100)
Go是Google开发的一种静态、强类型、编译型、并发型,并具有垃圾回收功能的类C编程语言。
2009以开源项目的形式发布,2012年发布1.0稳定版本,距今已经十年了,其性能类似于Java和C++,但速度极快,适合搭载于web服务器,用于高性能分布式系统开发。
作为热门的编程语言之一,Go语言吸引了很多关注。根据TIOBE编程排行榜,2016年,Go语言成为年度最受欢迎的编程语言;
2019年,Go语言的热度不减,仍稳居排行榜前20名。在基于云的服务中,Go语言因其在编译速度和执行性能上的优越性,具有其他编程语言无法比拟的优势。随着云计算的迅速发展,更多基于Go语言的项目正在不断涌现。
今天,CSDN就为大家推荐了一份来自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
以上就是本期CSDN为大家推荐的《2019年Go语言开发者指南》,最后为大家献上传送门,预祝大家五一学习愉快,peace~
GitHub项目地址:
https://github.com/Alikhll/golang-developer-roadmap/blob/master/i18n/ReadMe-zh-CN.md
【END】
作为码一代,想教码二代却无从下手:
听说少儿编程很火,可它有哪些好处呢?
孩子多大开始学习比较好呢?又该如何学习呢?
最新的编程教育政策又有哪些呢?
下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)
戳他了解更多↓↓↓
热 文 推 荐
☞ 当过爱因斯坦助理,参加过曼哈顿计划,他还发明受欢迎的编程语言 | 人物志
☞准码农自述:我是如何从二本到日本留学,从 C 语言到人工智能的?
☞ 阿里半跪过,任正非差点跳楼,京东被骗光钱:成年人的生活哪有容易二字?
☞ 回报率29%! 大神用情感分析创建一个比特币交易算法, 原来交易玩的是心理战
☞ 硬核粉丝 | 清华双胞胎“YCY Dance Now”杀进超越杯编程大赛决赛
☞ 她说:为啥程序员都特想要机械键盘?这答案我服!
System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"