0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一份来自Github的2019年Go开发者指南,帮助大家快速入门Go语言

电子工程师 来源:lq 2019-05-05 11:51 次阅读

Go是Google开发的一种静态、强类型、编译型、并发型,并具有垃圾回收功能的类C编程语言。2009以开源项目的形式发布,2012年发布1.0稳定版本,距今已经十年了,其性能类似于JavaC++,但速度极快,适合搭载于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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    39

    文章

    7728

    浏览量

    137182
  • 编程语言
    +关注

    关注

    10

    文章

    1938

    浏览量

    34591
  • go语言
    +关注

    关注

    1

    文章

    158

    浏览量

    9026

原文标题:Go开发者路线图2019,请收下这份指南

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在学习go语言的过程踩过的坑

    作为个5的phper,这两公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021
    的头像 发表于 11-11 09:22 99次阅读

    Arm推出GitHub平台AI工具,简化开发者AI应用开发部署流程

    软件提供了无缝的开发体验。 GitHub Actions、原生 GitHub 运行器和基于 Arm 平台的 AI 框架相结合,帮助全球 2,000 万
    的头像 发表于 10-31 18:51 1102次阅读

    go语言如何解决并发问题

    作为个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任
    的头像 发表于 10-23 13:38 105次阅读
    <b class='flag-5'>go</b><b class='flag-5'>语言</b>如何解决并发问题

    三十分钟入门基础Go Java小子版

    前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发
    的头像 发表于 08-12 14:32 670次阅读
    三十分钟<b class='flag-5'>入门</b>基础<b class='flag-5'>Go</b> Java小子版

    名单公布!【书籍评测活动NO.39】仓颉编程快速上手 | 开发者的第个仓颉语言程序

    就可以快速上手干活。 本书快速上手仓颉 天下武功,唯快不破! 《仓颉编程快速上手》 这本书就能帮助开发
    发表于 07-24 17:01

    Go语言中的函数、方法与接口详解

    Go 没有类,不过可以为结构体类型定义方法。方法就是类带特殊的接收参数的函数。方法接收在它自己的参数列表内,位于 func 关键字和方法名之间。(非结构体类型也可以定义方法)
    的头像 发表于 04-23 16:21 744次阅读

    鸿蒙系统优缺点,能否作为开发者选择

    凡是都有对立面,就直接说说鸿蒙的优缺点吧。 鸿蒙的缺点: 鸿蒙是从2019开始做出来的,那时候是套壳Android大家都知晓。从而导致大家不看鸿蒙系统,套壳Android就是多次
    发表于 02-16 21:00

    使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

    为鸿蒙原生应用。 在 《使用 Taro 开发鸿蒙原生应用》 系列文章中,我们已经介绍了 鸿蒙的基本概念 和 Taro 适配鸿蒙的原理。本文作为该系列的第三篇,将正式为开发者提供一份完整的鸿蒙应用
    的头像 发表于 02-02 16:09 818次阅读
    使用 Taro <b class='flag-5'>开发</b>鸿蒙原生应用 —— <b class='flag-5'>快速</b>上手,鸿蒙应用<b class='flag-5'>开发指南</b>

    您有一份OpenHarmony开发者论坛2023度总结,请查收~

    帮助提问的开发者解决了问题,被提问的开发者采纳。 OpenHarmony 开发者论坛感谢每位在论坛上分享知识、交流想法的
    发表于 01-26 17:27

    HarmonyOS SDK,助力开发者打造焕然新的鸿蒙原生应用

    场景推出场景化控件,帮助开发者快速地打造更纯净、更智能、更精致、更易用的鸿蒙原生应用。 提供六大领域,能力丰富完备 HarmonyOS SDK 拥有近 30000 个 API,覆盖了鸿蒙原生应用
    发表于 01-19 10:31

    Go配置TM 软件中心用户指南

    电子发烧友网站提供《Go配置TM 软件中心用户指南.pdf》资料免费下载
    发表于 01-03 09:48 0次下载
    <b class='flag-5'>Go</b>配置TM 软件中心用户<b class='flag-5'>指南</b>

    叮,你有一份来自 2023 开放原子开发者大会的邀请函,请查收!

    波机会 与志同道合的朋友 碰撞交流 现场感受 技术与“吴文化”的碰撞 欣赏来自开发者的 才艺秀 体验趣味的 开发者游戏 即刻报名! 享早鸟票限时免费 机会不要错过
    的头像 发表于 12-20 15:35 621次阅读
    叮,你有<b class='flag-5'>一份</b><b class='flag-5'>来自</b> 2023 开放原子<b class='flag-5'>开发者</b>大会的邀请函,请查收!

    使用go语言实现个grpc拦截器

    开发grpc服务时,我们经常会遇到些通用的需求,比如:日志、链路追踪、鉴权等。这些需求可以通过grpc拦截器来实现。本文使用go语言来实现
    的头像 发表于 12-18 10:13 630次阅读
    使用<b class='flag-5'>go</b><b class='flag-5'>语言</b>实现<b class='flag-5'>一</b>个grpc拦截器

    Go编程语言-你应该知道的

    Go 编程语言的故事始于 Google,当时三位工程师 Robert Griesemer、Rob Pike 和 Ken Thompson 对 C++ 的复杂性以及缺乏提供高效编译和执行的简单语言感到厌倦。
    的头像 发表于 12-11 17:37 609次阅读

    开发者说】开发案例分享:万能卡片也能用来玩游戏

    】,即可获得投稿渠道。期待你们的分享~ 前言 作为开发爱好,从大了讲,我学习并进行HarmonyOS相关开发是为了能为鸿蒙生态建设
    的头像 发表于 11-30 21:15 505次阅读
    【<b class='flag-5'>开发者</b>说】<b class='flag-5'>开发</b>案例分享:万能卡片也能用来玩游戏