區塊鏈開發語言之go語言學習線路指導
問題導讀
1.為什麼學習go語言?
2.你認為該如何入門go語言?
3.你認為go語言需要哪些學習過程?
轉載註明本文連結
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344
區塊鏈可以使用各種語言開發,很多開發者使用的是go語言,因為它的併發能力。所以這裡對go語言進行一個彙總,節省大家時間。
首先,我們可能只是知道go是一門不錯的語言,然後我們想要學習,所以我們就需要找入門資料。對於入門資料,最好是系統的。這裡給大家推薦一些系統的入門資料。
入門推薦
1.Go 語言教程
http://www.runoob.com/go/go-tutorial.html
2.Go入門指南
https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md
3.Go語言聖經(中文版)
章節內容
這裡都是txt版本的,所以可以直接下載,但是最好從github上閱讀
gitgub地址:
https://github.com/golang-china/gopl-zh
網盤下載:
連結: https://pan.baidu.com/s/1GUj_kQoLV9Lui3_wZHDRzw 密碼: uaub
4.學習go語言
本書當前包含:
安裝與概述
演示瞭如何安裝 Go 語言,並通過逐行分析原始碼示例展示了 Go 語言的基本特性。
型別,變數和控制流程
函式的編寫和使用
包與專案
函式和資料通過包組織在一起。這裡將會看到如何編寫包。對如何在包中使用單元測試也進行了介紹;
如何對一個 Go 語言的專案的目錄進行設計,以及如何使用 go 命令的 vendor 功能管理包的依賴。
結構體
學習如何建立自定義資料型別,並在其上定義函式(即方法)。
介面
Go 並不支援傳統意義上的面向物件。在 Go 中核心概念是介面。
併發
通過關鍵字 go,可以在獨立的排程中執行函式,這個並行執行的函式叫做 goroutine;
通過 channel 可以在 goroutine 之間進行安全的資料通訊。
檔案與通訊
如何建立/讀取/寫如檔案。以及網路相關內容。
每章包含若干個提供了答案的練習來幫助你提升。
連結: https://pan.baidu.com/s/11tSSXiMS1GaTnI5l0LMeSQ 密碼: j8ww
git地址:
https://github.com/mikespook/Learning-Go-zh-cn
視訊
有的同學不喜歡看書,喜歡看視訊下面也提供一些
連結:
https://pan.baidu.com/s/1S6UBobCRCk_TqTAX5czP2w
密碼: gvkw
觀看時最好選擇網易雲課程,沒有廣告
Go 程式設計基礎視訊:
這裡面有各個平臺的,土豆廣告太多,可以選擇網易雲平臺
https://github.com/Unknwon/go-fundamental-programming
教程大綱
課時數 | 課時標題 | 線上播放 |
第 1 課 | Go 開發環境搭建 | 土豆網 優才網 網易雲課堂 |
第 2 課 | Go 基礎知識 | 土豆網 優才網 網易雲課堂 |
第 3 課 | 型別與變數 | 土豆網 優才網 網易雲課堂 |
第 4 課 | 常量與運算子 | 土豆網 優才網 網易雲課堂 |
第 5 課 | 控制語句 | 土豆網 優才網 網易雲課堂 |
第 6 課 | 陣列 array | 土豆網 優才網 網易雲課堂 |
第 7 課 | 切片 slice | 土豆網 優才網 網易雲課堂 |
第 8 課 | map | 土豆網 優才網 網易雲課堂 |
第 9 課 | 函式 function | 土豆網 優才網 網易雲課堂 |
第 10 課 | 結構 struct | 土豆網 優才網 網易雲課堂 |
第 11 課 | 方法 method | 土豆網 優才網 網易雲課堂 |
第 12 課 | 介面 interface | 土豆網 優才網 網易雲課堂 |
第 13 課 | 反射 reflection | 土豆網 優才網 網易雲課堂 |
第 14 課 | 併發 concurrency | 土豆網 優才網 網易雲課堂 |
第 15 課 | 專案與坑 | 土豆網 優才網 網易雲課堂 |
程式碼
我們學習了書籍,看了視訊,我們開始一些程式碼的實戰部分:
可以先從小例子入手
例子
當我們看書的時候,我們想做幾個例子,下面是一個例子的彙總:
第一個當然是hell word哈哈哈
Hello World
Values
Variables
Constants
For
If/Else
Switch
Arrays
Slices
Maps
Range
Functions
Multiple Return Values
Variadic Functions
Closures
Recursion
Pointers
Structs
Methods
Interfaces
Errors
Goroutines
Channels
Channel Buffering
Channel Synchronization
Channel Directions
Select
Timeouts
Non-Blocking Channel Operations
Closing Channels
Range over Channels
Timers
Tickers
Worker Pools
Rate Limiting
Atomic Counters
Mutexes
Stateful Goroutines
Sorting
Sorting by Functions
Panic
Defer
Collection Functions
String Functions
String Formatting
Regular Expressions
JSON
Time
Epoch
Time Formatting / Parsing
Random Numbers
Number Parsing
URL Parsing
SHA1 Hashes
Base64 Encoding
Reading Files
Writing Files
Line Filters
Command-Line Arguments
Command-Line Flags
Environment Variables
Spawning Processes
Exec'ing Processes
Signals
Exit
上面例子由於是微信可能去掉連結,可檢視連結(http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344)
原文地址:
https://gobyexample.com/
專案高階
我們會了例子,可能就需要一些專案程式碼,下面給大家推薦一些
使用beego框架可以很快速的開發你的Web或者API應用
地址:
https://github.com/astaxie/beego
學習分散式
地址:
https://github.com/skynetservices/skynet-archive
分散式應用
地址:
https://github.com/coreos/etcd
作者:asta謝
連結:https://www.zhihu.com/question/23486344/answer/24770195
Go名庫講解
《Go名庫講解》是一套針對 Google 出品的 Go 語言的第三方庫進行評測講解的集部落格、示例與語音視訊為一體的綜合教程,適合完成學習完成《Go程式設計基礎》教程的學習者。
課件下載:
連結: https://pan.baidu.com/s/1G-T5FLFy0VB0LSEA_wmTGQ 密碼: 68tf
課程大綱
課程標題 | 副標題 | 課時數 | 線上播放 |
課程學習指導 | / | 1/1 | 優才網 網易雲課堂 |
goconfig - INI 解析器 | goconfig 使用解析 | 1/1 | 優才網 網易雲課堂 |
xorm - Go 語言 ORM | 常見用法指導 | 1/2 | 優才網 網易雲課堂 |
高階用法講解 | 2/2 | 優才網 網易雲課堂 | |
goconvey - 單元測試庫 | 優雅的單元測試 | 1/1 | 優才網 網易雲課堂 |
Macaron - 模組化 Web 框架 | 初識 Macaron | 1/? | 優才網 網易雲課堂 |
核心服務的使用 | 2/? | 優才網 網易雲課堂 | |
自定義服務 | 3/? | 優才網 網易雲課堂 |
地址:
https://github.com/Unknwon/go-rock-libraries-showcases
其它書籍推薦
go學習筆記
pdf
182頁
Go語言教程
pdf
103頁
下載連結:
連結: https://pan.baidu.com/s/1JuGXDNKCNYcdXrDn8NP0Yw 密碼: c2te
其它更多書籍25文件:
連結: https://pan.baidu.com/s/1GmGdKhP6WClDxbuEqBKjiQ 密碼: mi5z
其它:
當然這裡還蒐集了其它學習資料,大家可參考:
上面是一些比較系統的
go社群:
https://www.studygolang.com/articles
Go官方
http://golang.org/
Go程式碼
http://code.google.com/p/go/
http://code.google.com/p/gomingw/downloads/list
Go 語言中文翻譯專案
http://code.google.com/p/golang-china/
Go語言中文論壇
http://bbs.golang-china.org/
go的eclipse外掛
http://code.google.com/p/goclipse/
go程式碼提示
https://github.com/nsf/gocode
http://go-lang.cat-v.org/
相關的blog:
風雲blog go學習筆記:http://blog.codingnow.com/eo/go_oieno/
blog: http://www.lubia.me/?tag=golang
beego(beego框架的作者): http://blog.beego.me/
部落格:http://the5fire.com
官方資源
版本安裝
官網首頁 (釋出版 weekly)
開發路線 (釋出版 weekly)
Go1版資訊 (博文 計劃 反饋帖 發版需解決問題)
安裝說明 (釋出版 weekly 譯1 譯2)
Weekly版 (原始碼 歷史 釋出2012-01-20 宣佈帖)
Release版 (原始碼 歷史 釋出2011-10-17 r60.3)
Windows版 (當前下載 歷史下載)
Build狀態 (檢視)
參考手冊
標準包 (釋出版 weekly 譯)
命令工具 (釋出版 weekly 譯1 譯2)
語言規範 (釋出版 weekly 譯1 譯2)
社群專案 (分類檢視 安裝統計) 可用goinstall安裝
學習資料
官方部落格 (網址)
社群Wiki (網址)
常見問題 (釋出版 weekly 譯)
Go線上執行 (執行分享 例子程式碼 chrome外掛)
Go語言之旅 (英文版 原始碼 譯1 譯2 中文版)
Go語言教程 (釋出版 weekly 譯1 譯2 譯3)
三日教程 (第一天:基礎 PDF下載)
(第二天:型別、方法、介面 PDF下載)
(第三天:併發和通訊 PDF下載)
Go語言有效程式設計 (釋出版 weekly 譯1 譯2 譯3)
如何編寫Go程式 (釋出版 weekly 譯1 譯2)
語言記憶體模型 (釋出版 weekly 譯)
C++程式設計師指南 (釋出版 weekly 譯)
使用GDB除錯Go程式碼 (釋出版 weekly)
Codewalks:程式碼漫步 (釋出版 weekly)
Codelab:編寫Web程式 (釋出版 weekly 譯)
專案開發
Go專案 (首頁 Build狀態 原始碼瀏覽 提交日誌 貢獻準則)
Go問題 (提交 所有 Windows 需外界幫助 Go1發版需解決)
GAE支援 (概述 翻譯 執行時環境)
gccgo前端 (首頁 安裝使用 貢獻說明)
cat-v
大學Go培訓課程情況
Go語言其他實現
Go支援的CPU架構
Go支援的作業系統
各作業系統下的安裝包
部落格
邢興 柴樹杉 HowardFan 雲風 許式偉 lvyi BianJiang DCCMX
劉洪清 貝塔熊 Linxs 科技博 陳鋼 王益 Crane 無心雲
熟悉API
API:多看官方的GO包類,熟悉各個功能模組介面。
GITHUB上的推薦專案:
1.GO與MYSQL的結合使用(作為入門熟悉)
https://github.com/Go-SQL-Driver/MySQL
https://github.com/Go-SQL-Driver/MySQL/wiki/Examples
關注:
長按/掃描二維碼 ,後臺回覆關鍵詞:獲取各種最新技術,和資源
about雲新上課程:歡迎加微信w3aboutyun諮詢,保證大家學會
大資料日誌實時分析
http://www.aboutyun.com/forum.php?mod=viewthread&tid=22431
轉載註明本文連結
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344