-
1 # 傳智播客
-
2 # 小貝的STEAM教室
要知道Go語言是為了解決現實問題而設計的,而不是為了學術理論和人工智慧思想。Go是一個務實的程式語言,對於寫一個充分利用併發的高效軟體系統,Go的構建併發功能給予你一個令人興奮的程式設計體驗。加之部署簡單、併發性好、效能好這些語言本身的特性,使得Go語言獲得了很多程式設計愛好者的好感。
Go語言的廣泛應用Go可以用來構建一般目的的程式語言,可以是用Go編寫許多形態各異的軟體系統,包括網路伺服器,系統級別的應用程式,圖形系統,物聯網和機器學習。Go語言能夠用於構建本地化的手機應用程式,越來越多的公司將會為本地的Android和iOS系統上構建應用程式。Go是構建Web應用和後端API的最佳選擇。可以預見,在後續的幾年裡,會有越來越多的企業使用Go構建後端的RESTful 系統或者現代化商業應用系統。如何學習Go語言?最後大家分享一下區塊鏈學習線路圖~希望對大家學習有幫助
-
3 # 偶爾來逛逛隨便來瞧瞧
如果你有c或java的經驗,你會發現go可能是目前語言中最容易進入專案階段的語言。go語言的語法特性簡單明瞭,但枯燥乏味。做專案千篇一律,但只要遵循規則,即使新手也不會有太多坑,簡單說就是實惠耐用,這簡直就是大多it男的特性的翻版。所以對go來說,真不需要糾結,找本書瞭解下語法,找個相應框架,直接上手,邊做邊學。go的編譯,釋出也可以說是傻瓜式,不需要額外的學習知識,交叉編譯對開發與釋出環境不同的程式設計師來說更是減負利器。而相對應的,作為一個有c和java多年經驗的民工,rust學習曲線要陡峭上太多。就工作工具來說,我推薦go。作為以網站應用為主的,當然還要給elixir做下廣告,它的語法和go是兩個極端,同樣簡單易學,但超級靈活充滿魔法感。可惜是基於erl虛擬機器,在某些場景下沒有go這麼強的普適性。
-
4 # 自由程式設計
對於初學一門語言的同學,一般會推薦一本經典入門書籍。按照慣例go語言我推薦《go語言聖經》。
書只是一方面。在學習習慣上,本人還是習慣帶著問題去學習。何為帶著問題學習呢?首先,要想想學習go語言的目的是什麼?選個開發專案來練手,邊學邊做,帶著問題有目的的學習語言 效率會很高。
當然,如果之前沒接觸過程式設計,可能前期需要看看入門的影片和例項,按照指導一步一步跟著動手實驗。
總的來說,多動手,多想多總結,然後帶著問題學習,學習效率應該很高了。
(圖文無關)
-
5 # Go語言之美
go語言語法簡單,有程式設計基礎的學起來不困難,上手很快的。語法弄明白之後就是他的資料型別,已經go語言的OOP。有了一定基礎之後可以看一些開源專案的原始碼,幫助很大的。之後自己可以動手寫一下小的專案,網路程式設計的聊天室等等。其實go可以說的上是拿過來就可以用的語言,所以學習不要有壓力,多看看影片,多動手。
-
6 # 千鋒教育官方
按照下面這個圖譜,
step1:先學基本語法,然後學語法進階。
step2:接下來網路程式設計,web開發。
step3:框架,和專案實戰。開始也不用找太大的專案,能把之前的知識點串成線就行。
step4:如果還想往深了學,就看看容器,如今聲名大噪的Docker,分散式,微服務等。。
-
7 # Go語言中文網
以下是我為星球『Go專案實戰』使用者整理的新手如何學習Go語言的資源,分享給你。
學習任何東西,基礎都很重要。基礎就好比建築的地基,只有地基牢固了,才能建成高樓大廈。
學習程式語言亦是如此。很多人喜歡一上來就學習各種框架,其實那些框架對你來說都是工具,你自己的基礎好,懂得了它們的原理,自己也有能力創造更優秀的框架。
新手學習 Go 語言,推薦學習如下資源:(推薦按順序學習)1. 官方文件。(英文好的可以看英文 http://docs.studygolang.com 或者看如下列出的中文翻譯版)有四個文件推薦閱讀:1. Go 語言之旅 http://tour.studygolang.com/2. 語言規範 http://docscn.studygolang.com/ref/spec.old3. Effective Go http://docscn.studygolang.com/doc/effective_go.html4. FAQ http://docscn.studygolang.com/doc/faq學習完以上的文件,對 Go 語言應該有了一個較全面的認識。但在學習的過程中,針對裡面的程式碼應該實際動手敲,這樣能夠加深印象。2. 接著看 《Go 語言聖經》中文版 https://books.studygolang.com/gopl-zh/ ,相信對 Go 語言基礎會有更深的理解。3. 再推薦的是《Go 語言實戰》這本書,In Action系列都是比較經典的。以上資料學習完後,你應該掌握了 Go 語言,但需要進行必要的實戰。我們的 『Go專案實戰』 知識星球目標之一就是為了鞏固、加深對基礎知識的掌握。4. 基礎知識紮實了,想進一步深入,可以學習如下書籍:1. 柴大的 《Go 語言高階程式設計》 https://books.studygolang.com/advanced-go-programming-book/2. 雨痕的 《Go 語言學習筆記》 https://github.com/qyuhen/book -
8 # 愛位元程式設計
go(又稱golang)是google的三位大牛羅伯特·格瑞史莫(Robert Griesemer), 羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)在2009年推出的程式語言,它是一種靜態強型別、編譯型、併發型,並具有垃圾回收功能的程式語言,很方便的支援協程,支援大併發。在後端開發,微服務,雲計算方面應用比較廣泛,目前國內很多一線網際網路公司的服務都是用golang搭建,學好golang是很前途的。
我認為學好golang有如下三步驟:
1、閱讀相關技術書籍1)go語言程式設計(艾倫A. A. 多諾萬著),golang語言基礎,是入門首選
2)go語言聖經(Kernighan著),golang語言的權威著作,進階首選
3)golang的官方文件(https://golang.org/pkg/)
4)golang大牛的演講和blog()
2、參與開發相關golang專案1)開始學習時,要邊看書變學習,將書中的例子一定自己動手寫一遍,執行除錯一下。
2)邊做專案邊學習是成長最快的方法,一定要參與golang專案的開發,你的工作一定要是golang開發。
3、學習和參與優秀的開源專案閱讀優秀開源專案提升自己的技術水平和開闊一些視野
1)beego (https://github.com/astaxie/beego)
中國產開源的高效能Web框架,讓你快速的開發Go Web應用服務,謝大主筆
2)codis (https://github.com/CodisLabs/codis)
Codis是一個分散式Redis解決方案,其實就是一個數據庫代理,讓你在使用Redis叢集的時候,就像使用單機版的Redis是一樣的,對開發者透明。
3)docker (https://github.com/docker/docker)
無人不知的虛擬華平臺,開源的應用容器引擎,藉助該引擎,開發者可以打包他們的應用,移植到任何平臺上。
4)kubernetes (https://github.com/kubernetes/kubernetes)
Google出品,用於排程和管理Docker的開源容器管理系統,利用他,可以方便的管理你的docker例項,哪怕非常多,也是目前最流行的docker管理系統。
5)golang (https://github.com/golang/go)
golang是開源的程式語言,可以閱讀golang的原始碼提升自己
4、總結經常總結,讓經驗沉澱下來,有條件可以寫部落格,也經常看看別人的技術部落格
-
9 # 黑馬程式設計師
5月20日工業和資訊化部資訊中心釋出《2018中國區塊鏈產業白皮書》,Go語言與區塊鏈成為“數字中國”建設的重要支撐,go語言由此被提起!
Go語言熱度攀升,市場薪資居高不下
據BOSS直聘研究院資料顯示2018年Go語言與區塊鏈職位月薪11000元以上佔整體的95.5%
為什麼Go語言被眾多名企青睞?
區塊鏈主流程式語言
簡單易學開發速度快
Go語言併發性好
如何學習GO語言:
-
10 # 一隻在修行的貓
其實go語言學習成本還是有的,第一google我們不能夠正常訪問,所以按照golang就不能去官方進行按照,當然我們有梯子的同學是可以直接進行訪問golang官網的。
我們按照好golang之後就可以編寫hello world了,go語言是一門上手非常快的語言,沒有任何變成基礎的也不害怕,如果有C語言或者是python、php語言會更加好上手。
和學習正常語言一樣,我們要先學習基礎,我們可以去看影片,也可以去看相關的資料,入門的影片或者資料有的是,隨便都可以在網上搜索的到,到時候大家先熟悉一波基礎的語法。
接下來就是實戰了,用golang為我們解決一些事情,這些事情是真是存在的,那golang可以做什麼呢,高效能的伺服器API介面開發,高效能的即時通訊伺服器如IM、遊戲伺服器,還可以進行嵌入式開發,因為golang是直接打包成二進位制執行檔案的,並且也可以用c、c++語言和go進行混合開發。
接下來就是基本的web rest框架如 gin、iris、begoo、echo、fasthttp等
常用的資料庫操作mysql、redis、mongo
一些基礎中介軟體操作如、es、mq、佇列
websock、socket程式設計
此外我們應該多去github去流量高質量的程式碼,有意思的專案等等。
最後多敲,多寫才是王道!
-
11 # 鏈喬教育線上
golang越來越有優勢,有什麼學習路線沒有?
golang學習比較簡單,不過任何一門語言都不是孤立存在的,在這裡簡要說明一下golang開發的學習路線
1.golang基礎,包括go語言安裝,go語言語法,流程控制語句,函式,方法,面向物件概念,網路程式設計,併發程式設計等
2.golang開發框架,包括beego,gin,Iris,Echo等
3.微服務開發
4.深入的話還可以學習演算法部分。如果要接觸區塊鏈相關技術的話,還需要學習區塊鏈的加密演算法等相關知識
5.如果要結合go實現應用的話,肯定離不開各種資料庫,比如關係型資料庫oracle、mysql,或者各類非關係型資料庫等等
6.如果需要開發介面的話,還需要學習網頁程式設計如html,javascript,vue,elementUI,bootstrap等網頁開發技術和框架。
7.在以上學習的基礎上還可以向架構方面深入學習。
-
12 # 搞笑大師火星人
1 我要如何學習go才能做web開發
2用go做ai 或者影象處理
3開發以太坊區塊鏈
就web開發而言的話就不同領域需要畫一個腦圖,就是路線圖,把達到目標之前的各個知識點列出來,比如基礎go知識,變數,常量,slice. map struct channel go routine 併發等等 還有相關領域的開發工具,的腦圖,比如goland vs code 還要需要的linux 命令列, dockers 等等相關路線圖 還有gin 框架
-
13 # IT人張飛洪
Go 最近剛滿 11 歲,所以你可以想象這麼多年 Go 語言和其生態進化了多少。作為一種強型別語言,它憑藉垃圾回收和併發支援,日益流行。它較高的效能、可擴充套件和資源利用效率。難怪 Go 現在應用於各個領域,包括 Web 應用、微服務、雲計算、Web 服務和其他系統或工具。
關注 Go 語言、工具和社群不斷變化的好方法就是檢視專門涉及 Go 的部落格。在這篇文章中,我們會看到 Go 使用者、貢獻者和教育工作者寫的部落格,以瞭解他們使用 Go 語言的各種方式。
A Journey With Go《A Journey with Go》 是相當新的部落格,第一個發帖在 2019 年。它傾向於一個概念,而不是一系列詳解的帖子。對系列部落格感興趣,可以在 garbage collection 、the compiler 和其他更多找到。它是由 Vincent Blanchon 寫的,並被託管在 Medium 上。
寫作質量:☆☆☆☆連貫性:☆☆☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆☆Applied Go寫作質量:☆☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆Ardan Labs’ Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Dave Cheney’s Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆DEV’s Go Tag寫作質量:☆☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆Digital Ocean’s Go Series寫作質量:☆☆☆☆☆技術深度:☆☆☆廣泛實用性:☆☆☆☆Eli Bendersky’s Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Go By Example寫作質量:☆☆☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆☆Go Web Examples寫作質量:☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆☆Go’s Articles Wiki寫作質量:☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Golang Bot寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Golang Programs寫作質量:☆☆☆技術深度:☆☆☆廣泛實用性:☆☆☆☆☆GolangCode寫作質量:☆☆☆☆技術深度:☆☆☆廣泛實用性:☆☆☆☆☆Gopher Academy Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Gopher Guides寫作質量:☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆Hashnode’s Go Tag寫作質量:☆☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆Ilija Eftimov’s Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆ ITNEXT’s Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Just For Func寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Learn The Go Programming Language寫作質量:☆☆☆☆技術深度:☆☆☆☆廣泛實用性:☆☆☆☆Official Go Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Russ Cox’s Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Tit Petric’s Blog寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Tutorial Edge寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆☆Wandering Thoughts’ Go Topic寫作質量:☆☆☆☆☆技術深度:☆☆☆☆☆廣泛實用性:☆☆☆☆總結關注 Go 部落格是瞭解其他人如何使用 Go 解決問題的聰明的方法。現在有很多 Go 的內容,並且不僅限於部落格,越來越多的人轉向影片和音訊分享他們的 Go 內容,更不用說所有可用的 Go 論壇和即時通訊。
關於 Go,總有新東西要學習,更多或更有趣的方法總會出現。如果你知道其他我們應該包含在這列表中的 Go 部落格,在這裡提交。
-
14 # 西梧Runtime
Go語言這幾年發展的確實不錯,雖然沒有實現趕超C++的目標,但是已經很接近了。而這些年也出現了一些Go語言的有名的專案,比如 kubernetes、Docker、Etcd、Tidb等專案。
我這裡整理了一份關於Go語言的學習路線,也可以輔助你做判斷。
Go語言是一門全新的靜態型別開發語言,具有自動垃圾回收、豐富的內建型別、函式多返回值、錯誤處理、匿名函式、併發程式設計、反射、defer等關鍵特徵。從語言層面來說天然支援併發,可以充分利用CPU多核,並且非常適合用來進行伺服器程式設計、網路程式設計和分散式程式設計等。
在雲計算領域,用Go語言編寫的雲基礎專案如Docker、Kubernetes都取得了巨大的成功,別外還有知名的專案如Etcd、consul、flannel等,也都是使用Go語言實現的。
為你提供幾張學習Go語言的線路圖,從基礎到進階、Web程式設計、微服務的學習,你可以參考一下。
基礎學習
書籍推薦
《Head First Go語言程式設計》、《Go語言學習筆記》、《Go語言趣學指南》、《Go語言程式設計》
當然,不必所有的書都讀,找其中一本學習即可。
線上學習Go語言資料
Go By Example 中文版 : https://gobyexample-cn.github.io,使用程式碼示例來學習 Go 語言。 Go 面試題 : http://www.topgoer.cn/docs/gomianshiti/mianshiti,也是使用程式碼示例來講解 Go,用來準備面試也是很好的。 無聞大佬的線上入門指南 : https://github.com/unknwon/the-way-to-go_ZH_CN跟著單元測試學習 Go : https://github.com/quii/learn-go-with-tests,有中文版。初級練手專案
starcharts : https://github.com/caarlos0/starcharts,專案的功能是生成 Github 上面的專案的 star 趨勢圖,核心程式碼不多,用來練手很合適。 gorched : https://github.com/zladovan/gorched,使用 Go 寫的一個小遊戲。 pacgo : https://github.com/danicat/pacgo,也是使用 Go 寫的一個小遊戲,每一步都有詳細的描述和程式碼實現。 wechat-go : https://github.com/songtianyi/wechat-go,微信 web 版 API 的 Go 實現,模擬微信網頁版的登入/聯絡人/訊息收發等功能。Go語言進階
書籍推薦
《Go程式設計語言》、《Go專家程式設計》、《Go語言高階程式設計》、《Go併發程式設計》
線上學習Go語言資料
1.《Go 語言設計與實現》: https://draveness.me/golang。
2.《Go 語言高階程式設計》: https://chai2010.cn/advanced-go-programming-book。
進階練手專案
rosedb : https://github.com/roseduan/rosedb,一個用 Go 實現的簡易高效的 k-v 儲存引擎。 gochat : https://github.com/LockGit/gochat,一個 Go 語言實現的輕量級 im 系統,對網路方面熟悉或者感興趣的可以看看。 7DaysGolang : https://github.com/geektutu/7days-golang,7 天使用 Go 從零實現 web 框架、分散式快取、ORM 框架,、RPC 框架,程式碼量不多,但是質量挺不錯的Go Web程式設計
書籍推薦
《Go Web程式設計》
線上學習資料
可以學習下 web 框架 Gin、beego:兩個框架都比較的流行,選擇其中一個其實就可以了,推薦 Gin。官方文件都有中文,照著 demo 敲一下,瞭解下怎麼處理 HTTP 請求的。
Web框架相關的,基本上看官方文件就可以了,就不用再去找專門介紹的書籍,沒有比官方文章更正宗的資料了。
除框架之外,你還需要學會的是包括但不限於:
web的邏輯,Http協議,grpc,session,cookie等這些web的基礎知識資料庫方面MySQL、Redis、MongoDB等中介軟體Kafka、Etcd等檔案檔案處理,XML、JSON、正則等安全與加密,預防CSRF攻擊、XSS攻擊、SQL注入等,加密解密等Go Web專案推薦
gin-vue-admin : https://github.com/flipped-aurora/gin-vue-admin,使用 Gin 框架構建的後臺管理系統。 ferry : https://github.com/lanyulei/ferry,基於 Gin + Vue + Element UI 前後端分離的工單系統。 go-admin : https://github.com/go-admin-team/go-admin,Gin + Vue + Element UI 的前後端分離許可權管理系統。Go 微服務
目前 Go 在微服務中的應用也比較廣泛,但說實話,微服務是一個太龐大的話題,你不可能把每一個核心的問題都能夠搞清楚,而且也沒條件,或許只能在公司的具體的微服務生產環境中,才能夠對相關的概念有更加深刻的體會。
推薦一本微服務概述的基礎書籍《微服務設計》、《微服務架構設計模式》,可以幫助你理解微服務的建模、整合、測試、部署和監控的一些基礎知識。
其次,你可以看一下《Go微服務實戰》這本書,看後半部分即可,裡面其實介紹的還是關於微服務方面的知識。
推薦 Go 語言的微服務框架 GoKit、GoMicro、go-zero、kratos,可以隨便選擇一個,理解其基本的用法、設計等等。其中 go-zero 和 kratos 是國內開源的,因此都有比較詳細的中文文件。
線上學習的資料:
https://ewanvalentine.io/microservices-in-golang-part-1
手把手實現一個簡單的 Go 微服務專案,你可以透過這個專案來學習微服務的相關知識,並且有中文版。
Go語言原理研究
如果你對Go語言底層原理感興趣的話,可以看下這本書《Go語言底層原理剖析》。
開源專案學習
在專案開發過程中,也會用到各種開源專案。一開始沒必要直接鑽研原始碼,先要學習開源專案背景,能解決什麼問題,開源作者的專案理念,使用了哪些技術等等。
這些清楚以後,可以找自己感興趣的技術點或者模組去針對性的學習,千萬不要想著一開始就想一網打盡式的學習,沒有針對性意味著沒有重點,沒有重點很大機率就會白學或者學到的就會很少。
先推薦幾個經典的開源專案供你參考:
www.docker.com 使用 docker 來做虛擬化https://github.com/nsqio/nsq 學習訊息佇列,學習 channel 和分散式https://github.com/coreos/etcd分散式應用如果你有自己比較看好的開源專案會更好,興趣永遠是前進的第一步。
相對前幾年,Go語言的書籍、教程,各種文章都如雨後春筍一般越來越多,學習起來也更加方便,但是同時也要注意不要過度陷入知識碎片而無法自拔,最重要的還是要去系統去學習一下,針對性的練習、實踐和應用。
回覆列表
先來看看什麼是go語言:
Go語言是谷歌2009釋出的第二款開源程式語言。
Go語言專門針對多處理器系統應用程式的程式設計進行了最佳化,使用Go編譯的程式可以媲美C或C++程式碼的速度,而且更加安全、支援並行程序。學習程式語言,主要的需要做到三點:
基礎知識要學好。
學會抄程式碼,直到自己能倒寫如流!
學會自己寫程式碼,只有自己會寫程式碼了,才是真正的學會了!
基礎知識要學好都說“欲速則不達”,麼有紮實的基本功,怎麼能更好的學習!就像建房子,首先要有地基,之後才能往上蓋,這樣就不會坍塌!
推薦入門影片:20小時快速入門go語言
學會抄程式碼當你把基礎學完之後,要想更好的掌握,就可以考慮抄程式碼了!我們開始寫程式碼都是沒什麼思路,也無從下手,但是我們可以模仿別人寫程式碼,上海俗話裡面常說"吃大戶,用大戶,消滅大戶",我們就是"看程式碼,抄程式碼,最後自己寫程式碼"
自己寫程式碼當你可以寫程式碼的時候,就說明對GO有了很好的瞭解,這時候就要自己做專案了。