Go是Google開發(fā)的一種靜態(tài)、強類型、編譯型、并發(fā)型,并具有垃圾回收功能的類C編程語言。2009以開源項目的形式發(fā)布,2012年發(fā)布1.0穩(wěn)定版本,距今已經(jīng)十年了,其性能類似于Java和C++,但速度極快,適合搭載于web服務器,用于高性能分布式系統(tǒng)開發(fā)。
作為熱門的編程語言之一,Go語言吸引了很多關注。根據(jù)TIOBE編程排行榜,2016年,Go語言成為年度最受歡迎的編程語言;2019年,Go語言的熱度不減,仍穩(wěn)居排行榜前20名。在基于云的服務中,Go語言因其在編譯速度和執(zhí)行性能上的優(yōu)越性,具有其他編程語言無法比擬的優(yōu)勢。隨著云計算的迅速發(fā)展,更多基于Go語言的項目正在不斷涌現(xiàn)。
今天,營長就為大家推薦了一份來自Github的2019年Go開發(fā)者指南,幫助大家快速入門Go語言。
該指南提供了詳細的進階路線圖,列出了學習Go開發(fā)所需的各類知識和技能,而且每個知識點也附上啦相應的學習資源。相信無論是零基礎的新手,還是對Go語言有一定了解的開發(fā)者,都能夠有所收獲。
Go開發(fā)者路線圖

學習資源整理
1、先決條件
1)Go:https://golangbot.com/
2)Dep工具,Go模組:https://github.com/golang/dep
3)SQL:https://www.w3schools.com/sql/default.asp
2、基本開發(fā)技能
1)學習Git,在GitHub上建立一些倉庫,與他人分享你的代碼:https://www.w3schools.com/sql/default.asp
2)了解HTTP(S)協(xié)議,request方法(GET,POST,PUT,PATCH,DELETE,OPTIONS)
3)不要害怕使用Google——Google搜索的力量:http://www.powersearchingwithgoogle.com/
4)看一些和數(shù)據(jù)結構及算法有關的書
5)學習關于認證的基礎實現(xiàn)
6)學習面向對象原則
3、命令行工具
1)cobra:https://github.com/spf13/cobra
2)urfave/cil:https://github.com/urfave/cli
4、網(wǎng)絡框架/路由
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、數(shù)據(jù)庫
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)云數(shù)據(jù)庫
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)日志管理系統(tǒng)
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文章
8021瀏覽量
144377 -
編程語言
+關注
關注
10文章
1964瀏覽量
39558 -
go語言
+關注
關注
1文章
159瀏覽量
9778
原文標題:Go開發(fā)者路線圖2019,請收下這份指南
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
Go 語言高并發(fā)服務設計與性能調優(yōu)實戰(zhàn):從萬級到百萬級并發(fā)的演進之路
探秘 CYSBSYSKIT - DEV - 01 快速物聯(lián)網(wǎng)連接開發(fā)者套件
低成本TLI4971/TLE4971電流傳感器評估套件——MS2Go與S2Go
XENSIV? PAS CO2 Sensor2Go評估套件快速上手指南
KIT_XMC14_2GO開發(fā)板:功能特性與硬件解析
探索TLE493D-P3XX-MS2GO 3D 2Go套件:開啟3D磁傳感器評估之旅
以龍企招為例,淺談鴻蒙應用開發(fā)者激勵計劃 2025 參與心得
房產(chǎn)數(shù)據(jù)平臺安家go獲取地區(qū)列表數(shù)據(jù)的API接口
元服務發(fā)布配置開發(fā)者服務信息
電商API入門問答:開發(fā)者必知的10個基礎問題
這次你說了算!先楫半導體開發(fā)者生態(tài)技術日
這次你說了算!先楫半導體開發(fā)者生態(tài)技術日規(guī)劃中,調查問卷等你來填
從“開發(fā)者孤島”到“生態(tài)星河”:開鴻Bot如何重構開源鴻蒙開發(fā)體驗
從 Java 到 Go:面向對象的巨人與云原生的輕騎兵
Xobin入選2024年Gartner?《開發(fā)者技能評估與面試平臺市場指南》
一份來自Github的2019年Go開發(fā)者指南,幫助大家快速入門Go語言
評論