整理 | Rachel

责编 | 阿司匹林

出品 | AI科技大本营(ID: rgznai100)

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

以上就是本期营长为大家推荐的《2019年Go语言开发者指南》,最后为大家献上传送门,预祝大家五一学习愉快,peace~

GitHub项目地址:

https://github.com/Alikhll/golang-developer-roadmap/blob/master/i18n/ReadMe-zh-CN.md

CTA核心技术及应用峰会

5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。

更多重磅嘉宾请识别海报二维码查看,目前会议早鸟票发售中(原票价1099元),点击阅读原文即刻抢购。添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。

推荐阅读

  • 硬核粉丝 | 清华双胞胎“YCY Dance Now”杀进超越杯编程大赛决赛

  • 小样,加张图你就不认识我了?“补丁”模型骗你没商量!| 技术头条

  • Python基础入门_基础语法和变量类型

  • 东大漆桂林、清华李涓子、复旦肖仰华等大牛确认出席CTA峰会!5月一起打卡杭州

  • 京东 60 天哗变!CTO 成优化第一人 | 畅言

  • 异构计算=未来?一文带你秒懂3大主流异构

  • 《互联网人叹气图鉴》

  • 回报率29%! 大神用情感分析创建一个比特币交易算法, 原来交易玩的是心理战

  • 她说:为啥程序员都特想要机械键盘?这答案我服!

Go开发者路线图2019,请收下这份指南相关推荐

  1. 2019 Go 开发者路线图,请收下这份指南!

    整理 | Rachel 责编 | 阿司匹林 出品 | AI科技大本营(ID: rgznai100) Go是Google开发的一种静态.强类型.编译型.并发型,并具有垃圾回收功能的类C编程语言. 200 ...

  2. KeyError: [] not found in axis_最IN黄浦 | 万圣狂欢倒计时!露台派对、变装游、沉浸式密室...请收下这份黄浦活动指南~_电竞...

    原标题:最IN黄浦 | 万圣狂欢倒计时!露台派对.变装游.沉浸式密室...请收下这份黄浦活动指南~ Ttick or Treat 一年一度的万圣节就要来了, 黄浦不少商圈都策划了多场精彩活动: BFC ...

  3. 凌恩生物资讯|细菌完成图,坑多专家少——请收下这份避坑指南

    尝试做细菌完成图的你是不是有很多疑问 这份避坑指南请收好! 小坑1."1 +X Contig,0 Gap"代表什么? 答:"1 Contig,0 Gap"的承诺 ...

  4. 请收下这份NLP热门词汇解读

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」,购票请扫码咨询 ↑↑↑ 本文转载自微软研究院AI头条(ID:MSRAsia) 编者按:在过去的一段时间,自然语言处理领域取得了许多重要 ...

  5. 再不学会“一键登录”就要out了,请收下这份Android端集成指南!

    根据极光(Aurora Mobile)发布的<2019年Q2移动互联网行业数据研究报告>,2019年第二季度,移动网民人均安装APP总量已达56款.面对如此繁多的APP,想在用户的手机中占 ...

  6. 【请收下这份汇总全网的Java视频资料】

    点赞收藏关注,防止下次找不到 这一篇主要是给大家收集比较好的Java学习的视频资料,而且这一篇的主要视频来源是B站 B站,众所周知,这是一个好大学,我们在上面可以找到很多好的学习资源,相信爱好学习舞蹈 ...

  7. 请收下这份秘籍: 这里有关于申请 gTech 职位所需知道的一切

    谷歌中国于 6 月 13 日晚在上海办公室举行了 "Working on the Google gTech Team in China" 直播活动,来自中国 gTech 团队的 3 ...

  8. pc端编码表必须为gbk才能正常启动软件_【干货】请收下这份非常完整的PCIE4.0 发送端测试SOP...

    编者注:本文作者为 是德科技(中国)有限公司的马卓凡.黄腾.刘宗祺.PCIE4.0的电气特性分为了发送端测试和接收端测试,本文主要介绍的是发送端测试. 一.前言 进入2019年,随着5G商用的坚实推进 ...

  9. 请收下这份面经吧!2022 阿里|字节|美团(附面试宝典+答案解析)

    前言 "找工作 3 个多月了,还没有遇到合适的,坐标深圳.""坐标杭州,2 年工作经验,裸辞 1 个月了,Java/Python 方向都在找,投的简历都石沉大海了.&qu ...

最新文章

  1. 35岁老码农:老板,你看我还有机会吗?
  2. ibm LTO2代半高磁带机不能弹出磁带
  3. Java BitSet使用场景和示例
  4. 很有趣的问题,Public继承和默认的集成
  5. java特征向量计算_用Java和Python计算特征向量的差异
  6. android 资源匹配,Android资源匹配过程(二)
  7. 西南石油大学计算机科学院信息,梁宗文 - 西南石油大学 - 计算机科学学院
  8. 政府项目需要注意的事项
  9. QT的QGeoRoutingManager类的使用
  10. 课堂练习之小强大扫荡
  11. python网络编程3-socketserver模块
  12. mysql用命令修改主键名_MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等...
  13. HTML5公式插件,在HTML5中使用MathML数学公式
  14. Linux内存管理:ELF文件格式
  15. Mac 安装Pytorch, Jupyter notebook, conda, python3
  16. 蜂鸣器的专业分类是这样的
  17. 【算法专题】关键路径及代码实现
  18. django学习日志(模板的渲染过程)第八部分:字符串数据转义
  19. 21天养成早起晨记习惯-早起的秘诀
  20. 训练faster rcnn报错:KeyError:‘max_overlaps’

热门文章

  1. [NHibernate]代码生成器的使用
  2. 深入解析Windows操作系统笔记——CH1概念和术语
  3. WF4.0实战(一):文件审批流程
  4. 各种 Optimizer 梯度下降优化算法回顾和总结
  5. Java 处理0x00特殊字符
  6. Scrapy框架CrawlSpider类爬虫实例
  7. Windows下配置scrapy需要MVC的14.0版本(转载)
  8. extjs grid renderer用法
  9. 小机上监控AIX和数据库管理系统的运行情况直到性能优化(SQL语句优化和排除硬件问题)...
  10. Windows Live Messenger  正式版已经发布