首頁>Club>
7
回覆列表
  • 1 # 傳智播客

    先來看看什麼是go語言:

    Go語言是谷歌2009釋出的第二款開源程式語言。

    Go語言專門針對多處理器系統應用程式的程式設計進行了最佳化,使用Go編譯的程式可以媲美C或C++程式碼的速度,而且更加安全、支援並行程序。

    學習程式語言,主要的需要做到三點:

    基礎知識要學好。

    學會抄程式碼,直到自己能倒寫如流!

    學會自己寫程式碼,只有自己會寫程式碼了,才是真正的學會了!

    基礎知識要學好

    都說“欲速則不達”,麼有紮實的基本功,怎麼能更好的學習!就像建房子,首先要有地基,之後才能往上蓋,這樣就不會坍塌!

    推薦入門影片:20小時快速入門go語言

    學會抄程式碼

    當你把基礎學完之後,要想更好的掌握,就可以考慮抄程式碼了!我們開始寫程式碼都是沒什麼思路,也無從下手,但是我們可以模仿別人寫程式碼,上海俗話裡面常說"吃大戶,用大戶,消滅大戶",我們就是"看程式碼,抄程式碼,最後自己寫程式碼"

    自己寫程式碼

    當你可以寫程式碼的時候,就說明對GO有了很好的瞭解,這時候就要自己做專案了。

  • 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語言的書籍、教程,各種文章都如雨後春筍一般越來越多,學習起來也更加方便,但是同時也要注意不要過度陷入知識碎片而無法自拔,最重要的還是要去系統去學習一下,針對性的練習、實踐和應用。

  • 中秋節和大豐收的關聯?
  • 《數學學習與研究》雜誌怎麼樣?