{eval=Array;=+count(Array);}
go(又稱golang)是google的三位大牛羅伯特·格瑞史莫(Robert Griesemer), 羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)在2009年推出的編程語言,它是一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言,很方便的支持協程,支持大并發。在后端開發,微服務,云計算方面應用比較廣泛,目前國內很多一線互聯網公司的服務都是用golang搭建,學好golang是很前途的。
我認為學好golang有如下三步驟:
1)go語言程序設計(艾倫A. A. 多諾萬著),golang語言基礎,是入門首選
2)go語言圣經(Kernighan著),golang語言的權威著作,進階首選
3)golang的官方文檔(https://golang.org/pkg/)
4)golang大牛的演講和blog()
1)開始學習時,要邊看書變學習,將書中的例子一定自己動手寫一遍,運行調試一下。
2)邊做項目邊學習是成長最快的方法,一定要參與golang項目的開發,你的工作一定要是golang開發。
閱讀優秀開源項目提升自己的技術水平和開闊一些視野
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的源碼提升自己
經常總結,讓經驗沉淀下來,有條件可以寫博客,也經常看看別人的技術博客
以下是我為星球『Go項目實戰』用戶整理的新手如何學習Go語言的資源,分享給你。
學習任何東西,基礎都很重要。基礎就好比建筑的地基,只有地基牢固了,才能建成高樓大廈。
學習編程語言亦是如此。很多人喜歡一上來就學習各種框架,其實那些框架對你來說都是工具,你自己的基礎好,懂得了它們的原理,自己也有能力創造更優秀的框架。
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語言進階
書籍推薦
《Go程序設計語言》、《Go專家編程》、《Go語言高級編程》、《Go并發編程》
在線學習Go語言資料
1.《Go 語言設計與實現》: https://draveness.me/golang。
2.《Go 語言高級編程》: https://chai2010.cn/advanced-go-programming-book。
進階練手項目
Go Web編程
書籍推薦
《Go Web編程》
在線學習資料
可以學習下 web 框架 Gin、beego:兩個框架都比較的流行,選擇其中一個其實就可以了,推薦 Gin。官方文檔都有中文,照著 demo 敲一下,了解下怎么處理 HTTP 請求的。
其次還需要掌握一下比較流行的 ORM 框架 Gorm,有官方中文文檔,照著 demo 敲一下基本上兩天就能掌握了,后面遇到不會的再來查。
Web框架相關的,基本上看官方文檔就可以了,就不用再去找專門介紹的書籍,沒有比官方文章更正宗的資料了。
除框架之外,你還需要學會的是包括但不限于:
Go Web項目推薦
Go 微服務
目前 Go 在微服務中的應用也比較廣泛,但說實話,微服務是一個太龐大的話題,你不可能把每一個核心的問題都能夠搞清楚,而且也沒條件,或許只能在公司的具體的微服務生產環境中,才能夠對相關的概念有更加深刻的體會。
推薦一本微服務概述的基礎書籍《微服務設計》、《微服務架構設計模式》,可以幫助你理解微服務的建模、集成、測試、部署和監控的一些基礎知識。
其次,你可以看一下《Go微服務實戰》這本書,看后半部分即可,里面其實介紹的還是關于微服務方面的知識。
推薦 Go 語言的微服務框架 GoKit、GoMicro、go-zero、kratos,可以隨便選擇一個,理解其基本的用法、設計等等。其中 go-zero 和 kratos 是國內開源的,因此都有比較詳細的中文文檔。
在線學習的資料:
https://ewanvalentine.io/microservices-in-golang-part-1
手把手實現一個簡單的 Go 微服務項目,你可以通過這個項目來學習微服務的相關知識,并且有中文版。
Go語言原理研究
如果你對Go語言底層原理感興趣的話,可以看下這本書《Go語言底層原理剖析》。
開源項目學習
在項目開發過程中,也會用到各種開源項目。一開始沒必要直接鉆研源碼,先要學習開源項目背景,能解決什么問題,開源作者的項目理念,使用了哪些技術等等。
這些清楚以后,可以找自己感興趣的技術點或者模塊去針對性的學習,千萬不要想著一開始就想一網打盡式的學習,沒有針對性意味著沒有重點,沒有重點很大概率就會白學或者學到的就會很少。
先推薦幾個經典的開源項目供你參考:
如果你有自己比較看好的開源項目會更好,興趣永遠是前進的第一步。
相對前幾年,Go語言的書籍、教程,各種文章都如雨后春筍一般越來越多,學習起來也更加方便,但是同時也要注意不要過度陷入知識碎片而無法自拔,最重要的還是要去系統去學習一下,針對性的練習、實踐和應用。
實踐出真知,通過gobyexample這樣的文檔一步步去學習,基本上敲一遍能夠入門了。然后接下來就是自己做一個小項目,可以從自己最拿手的領域做起,多看多寫,時間沉淀久了自然就會了。
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.在以上學習的基礎上還可以向架構方面深入學習。
鏈喬教育在線祝您學有所成。
非常好的問題。首先我是有三年go語言開發經驗的了。回答你這個問題之前,首先要理解如何學習go,是你要達到什么樣的級別。就是目標,比如你要達到大師級別。或者你需要用go做什么開發工作?一定要先搞清楚需求,舉個例子
1 我要如何學習go才能做web開發
2用go做ai 或者圖像處理
3開發以太坊區塊鏈
就web開發而言的話就不同領域需要畫一個腦圖,就是路線圖,把達到目標之前的各個知識點列出來,比如基礎go知識,變量,常量,slice. map struct channel go routine 并發等等 還有相關領域的開發工具,的腦圖,比如goland vs code 還要需要的linux 命令行, dockers 等等相關路線圖 還有gin 框架
但是如果要學圖像 ai 區塊鏈還要學習相關基礎和框架,比如tensorflow 智能合約 opencv 如果只要學習基礎請關注我的頭條14天學會go語言,最重要的是要多練!謝謝
對于初學一門語言的同學,一般會推薦一本經典入門書籍。按照慣例go語言我推薦《go語言圣經》。
書只是一方面。在學習習慣上,本人還是習慣帶著問題去學習。何為帶著問題學習呢?首先,要想想學習go語言的目的是什么?選個開發項目來練手,邊學邊做,帶著問題有目的的學習語言 效率會很高。
當然,如果之前沒接觸過編程,可能前期需要看看入門的視頻和實例,按照指導一步一步跟著動手實驗。
總的來說,多動手,多想多總結,然后帶著問題學習,學習效率應該很高了。
(圖文無關)
5月20日工業和信息化部信息中心發布《2018中國區塊鏈產業白皮書》,Go語言與區塊鏈成為“數字中國”建設的重要支撐,go語言由此被提起!
Go語言熱度攀升,市場薪資居高不下
據BOSS直聘研究院數據顯示2018年Go語言與區塊鏈職位月薪11000元以上占整體的95.5%
為什么Go語言被眾多名企青睞?
區塊鏈主流編程語言
簡單易學開發速度快
Go語言并發性好
如何學習GO語言:
可以到黑馬程序員看一下這些GO語言的教程哦!也可以后臺回復:go語言
先來看看什么是go語言:
Go語言是谷歌2009發布的第二款開源編程語言。
Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進程。學習編程語言,主要的需要做到三點:
基礎知識要學好。
學會抄代碼,直到自己能倒寫如流!
學會自己寫代碼,只有自己會寫代碼了,才是真正的學會了!
都說“欲速則不達”,么有扎實的基本功,怎么能更好的學習!就像建房子,首先要有地基,之后才能往上蓋,這樣就不會坍塌!
推薦入門視頻:20小時快速入門go語言
當你把基礎學完之后,要想更好的掌握,就可以考慮抄代碼了!我們開始寫代碼都是沒什么思路,也無從下手,但是我們可以模仿別人寫代碼,上海俗話里面常說"吃大戶,用大戶,消滅大戶",我們就是"看代碼,抄代碼,最后自己寫代碼"
當你可以寫代碼的時候,就說明對GO有了很好的了解,這時候就要自己做項目了。
關于學習視頻,樓樓可以找我要哦,關于對GO學習,大家也可踴躍參加,歡迎指正批評!
go語言語法簡單,有編程基礎的學起來不困難,上手很快的。語法弄明白之后就是他的數據類型,已經go語言的OOP。有了一定基礎之后可以看一些開源項目的源碼,幫助很大的。之后自己可以動手寫一下小的項目,網絡編程的聊天室等等。其實go可以說的上是拿過來就可以用的語言,所以學習不要有壓力,多看看視頻,多動手。
0
回答9
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答