1. 程式人生 > >區塊鏈開發語言之go語言學習線路指導

區塊鏈開發語言之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
640?wx_fmt=png

 


2.Go入門指南

640?wx_fmt=png 

https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md

3.Go語言聖經(中文版)

640?wx_fmt=jpeg 

章節內容
640?wx_fmt=png 

這裡都是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應用

640?wx_fmt=png 

地址:
https://github.com/astaxie/beego

學習分散式
640?wx_fmt=png 

地址:
https://github.com/skynetservices/skynet-archive

分散式應用

640?wx_fmt=png 

地址:
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文件:

640?wx_fmt=png 
640?wx_fmt=png 

連結: 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

關注:

長按/掃描二維碼 ,後臺回覆關鍵詞:獲取各種最新技術,和資源

640?wx_fmt=jpeg

about雲新上課程:歡迎加微信w3aboutyun諮詢,保證大家學會

大資料日誌實時分析

http://www.aboutyun.com/forum.php?mod=viewthread&tid=22431

轉載註明本文連結

http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344