<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何入門Go語言?這個開源項目趕緊收藏!

          共 3792字,需瀏覽 8分鐘

           ·

          2021-09-27 09:11

          昨天小編給大家分享了一款基于Go語言的對象存儲服務MinIO(自己搭建個對象存儲服務難不難?),不少小伙伴表示受益匪淺,但是同時呢,也有一部分小伙伴,說自己對于Go語言不是特別熟悉,想入手有那么一丟丟的困難~

          嗯嗯就那么一丟丟的意思

          不過呢這也難怪,國內似乎還沒有特別出色的適合初學者的Go語言教程書籍,而國外雖然有不少優(yōu)秀的書籍,但是因為語言的關系勸退了不少愛好者,但這不妨要我們對這些國外書籍的認識。

          這其中呢,Ivo Balbaert的The Way To Go一直被認為是Go語言學習的佼佼者,雖然作為較早的系列書籍,有一些些內容可能因為版本更新已經過時,但是就像那句老話,經典的才是最好的,整本書還是值得一看的。

          不過呢,先不說這語言的問題,就看看這個價格,也讓不少人打退堂鼓。

          但是程序猿的圈子里總有那么多熱心腸的樂于分享的技術大牛,江湖俗稱大好人~今天小編就找到一個開源項目,此項目就是對于這本The Way To Go的翻譯及分享。

          難能可貴的是這次翻譯獲得了Ivo Balbaert(就是寫這本書的大大)的授權同意,所以大家可以放心的看,同時對于前文提到的一些過時的內容,也進行了一些經Ivo Balbaert同意之下的補充。

          整本翻譯包含19個章節(jié),分別是:

          • 第1章:Go 語言的起源,發(fā)展與普及
            • 1.1 起源與發(fā)展
            • 1.2 語言的主要特性與發(fā)展的環(huán)境和影響因素
          • 第2章:安裝與運行環(huán)境
            • 2.1 平臺與架構
            • 2.2 Go 環(huán)境變量
            • 2.3 在 Linux 上安裝 Go
            • 2.4 在 Mac OS X 上安裝 Go
            • 2.5 在 Windows 上安裝 Go
            • 2.6 安裝目錄清單
            • 2.7 Go 運行時(runtime)
            • 2.8 Go 解釋器
          • 第3章:編輯器、集成開發(fā)環(huán)境與其它工具
            • 3.1 Go 開發(fā)環(huán)境的基本要求
            • 3.2 編輯器和集成開發(fā)環(huán)境
            • 3.3 調試器
            • 3.4 構建并運行 Go 程序
            • 3.5 格式化代碼
            • 3.6 生成代碼文檔
            • 3.7 其它工具
            • 3.8 Go 性能說明
            • 3.9 與其它語言進行交互
          • 第4章:基本結構和基本數據類型
            • 4.1 文件名、關鍵字與標識符
            • 4.2 Go 程序的基本結構和要素
            • 4.3 常量
            • 4.4 變量
            • 4.5 基本類型和運算符
            • 4.6 字符串
            • 4.7 strings 和 strconv 包
            • 4.8 時間和日期
            • 4.9 指針
          • 第5章:控制結構
            • 5.1 if-else 結構
            • 5.2 測試多返回值函數的錯誤
            • 5.3 switch 結構
            • 5.4 for 結構
            • 5.5 Break 與 continue
            • 5.6 標簽與 goto
          • 第6章:函數(function)
            • 6.1 介紹
            • 6.2 函數參數與返回值
            • 6.3 傳遞變長參數
            • 6.4 defer 和追蹤
            • 6.5 內置函數
            • 6.6 遞歸函數
            • 6.7 將函數作為參數
            • 6.8 閉包
            • 6.9 應用閉包:將函數作為返回值
            • 6.10 使用閉包調試
            • 6.11 計算函數執(zhí)行時間
            • 6.12 通過內存緩存來提升性能
          • 第7章:數組與切片
            • 7.1 聲明和初始化
            • 7.2 切片
            • 7.3 For-range 結構
            • 7.4 切片重組(reslice)
            • 7.5 切片的復制與追加
            • 7.6 字符串、數組和切片的應用
          • 第8章:Map
            • 8.1 聲明、初始化和 make
            • 8.2 測試鍵值對是否存在及刪除元素
            • 8.3 for-range 的配套用法
            • 8.4 map 類型的切片
            • 8.5 map 的排序
            • 8.6 將 map 的鍵值對調
          • 第9章:包(package)
            • 9.1 標準庫概述
            • 9.2 regexp 包
            • 9.3 鎖和 sync 包
            • 9.4 精密計算和 big 包
            • 9.5 自定義包和可見性
            • 9.6 為自定義包使用 godoc
            • 9.7 使用 go install 安裝自定義包
            • 9.8 自定義包的目錄結構、go install 和 go test
            • 9.9 通過 Git 打包和安裝
            • 9.10 Go 的外部包和項目
            • 9.11 在 Go 程序中使用外部庫
          • 第10章:結構(struct)與方法(method)
            • 10.1 結構體定義
            • 10.2 使用工廠方法創(chuàng)建結構體實例
            • 10.3 使用自定義包中的結構體
            • 10.4 帶標簽的結構體
            • 10.5 匿名字段和內嵌結構體
            • 10.6 方法
            • 10.7 類型的 String() 方法和格式化描述符
            • 10.8 垃圾回收和 SetFinalizer
          • 第11章:接口(interface)與反射(reflection)
            • 11.1 接口是什么
            • 11.2 接口嵌套接口
            • 11.3 類型斷言:如何檢測和轉換接口變量的類型
            • 11.4 類型判斷:type-switch
            • 11.5 測試一個值是否實現(xiàn)了某個接口
            • 11.6 使用方法集與接口
            • 11.7 第一個例子:使用 Sorter 接口排序
            • 11.8 第二個例子:讀和寫
            • 11.9 空接口
            • 11.10 反射包
            • 11.11 Printf 和反射
            • 11.12 接口與動態(tài)類型
            • 11.13 總結:Go 中的面向對象
            • 11.14 結構體、集合和高階函數
          • 第12章:讀寫數據
            • 12.1 讀取用戶的輸入
            • 12.2 文件讀寫
            • 12.3 文件拷貝
            • 12.4 從命令行讀取參數
            • 12.5 用 buffer 讀取文件
            • 12.6 用切片讀寫文件
            • 12.7 用 defer 關閉文件
            • 12.8 使用接口的實際例子:fmt.Fprintf
            • 12.9 JSON 數據格式
            • 12.10 XML 數據格式
            • 12.11 用 Gob 傳輸數據
            • 12.12 Go 中的密碼學
          • 第13章:錯誤處理與測試
            • 13.1 錯誤處理
            • 13.2 運行時異常和 panic
            • 13.3 從 panic 中恢復(Recover)
            • 13.4 自定義包中的錯誤處理和 panicking
            • 13.5 一種用閉包處理錯誤的模式
            • 13.6 啟動外部命令和程序
            • 13.7 Go 中的單元測試和基準測試
            • 13.8 測試的具體例子
            • 13.9 用(測試數據)表驅動測試
            • 13.10 性能調試:分析并優(yōu)化 Go 程序
          • 第14章:協(xié)程(goroutine)與通道(channel)
            • 14.1 并發(fā)、并行和協(xié)程
            • 14.2 協(xié)程間的信道
            • 14.3 協(xié)程的同步:關閉通道-測試阻塞的通道
            • 14.4 使用 select 切換協(xié)程
            • 14.5 通道、超時和計時器(Ticker)
            • 14.6 協(xié)程和恢復(recover)
            • 14.7 新舊模型對比:任務和worker
            • 14.8 惰性生成器的實現(xiàn)
            • 14.9 實現(xiàn) Futures 模式
            • 14.10 復用
            • 14.11 限制同時處理的請求數
            • 14.12 鏈式協(xié)程
            • 14.13 在多核心上并行計算
            • 14.14 并行化大量數據的計算
            • 14.15 漏桶算法
            • 14.16 對Go協(xié)程進行基準測試
            • 14.17 使用通道并發(fā)訪問對象
          • 第15章:網絡、模板與網頁應用
            • 15.1 tcp 服務器
            • 15.2 一個簡單的 web 服務器
            • 15.3 訪問并讀取頁面數據
            • 15.4 寫一個簡單的網頁應用
            • 15.5 確保網頁應用健壯
            • 15.6 用模板編寫網頁應用
            • 15.7 探索 template 包
            • 15.8 精巧的多功能網頁服務器
            • 15.9 用 rpc 實現(xiàn)遠程過程調用
            • 15.10 基于網絡的通道 netchan
            • 15.11 與 websocket 通信
            • 15.12 用 smtp 發(fā)送郵件
          • 第16章:常見的陷阱與錯誤
            • 16.1 誤用短聲明導致變量覆蓋
            • 16.2 誤用字符串
            • 16.3 發(fā)生錯誤時使用 defer 關閉一個文件
            • 16.4 何時使用 new() 和 make()
            • 16.5 不需要將一個指向切片的指針傳遞給函數
            • 16.6 使用指針指向接口類型
            • 16.7 使用值類型時誤用指針
            • 16.8 誤用協(xié)程和通道
            • 16.9 閉包和協(xié)程的使用
            • 16.10 糟糕的錯誤處理
          • 第17章:模式
            • 17.1 逗號 ok 模式
            • 17.2 defer 模式
            • 17.3 可見性模式
            • 17.4 運算符模式和接口
          • 第18章:出于性能考慮的實用代碼片段
            • 18.1 字符串
            • 18.2 數組和切片
            • 18.3 映射
            • 18.4 結構體
            • 18.5 接口
            • 18.6 函數
            • 18.7 文件
            • 18.8 協(xié)程(goroutine)與通道(channel)
            • 18.9 網絡和網頁應用
            • 18.10 其他
            • 18.11 出于性能考慮的最佳實踐和建議
          • 第19章:構建一個完整的應用程序
            • 19.1 簡介
            • 19.2 短網址項目簡介
            • 19.3 數據結構
            • 19.4 用戶界面:web 服務端
            • 19.5 持久化存儲:gob
            • 19.6 用協(xié)程優(yōu)化性能
            • 19.7 以 json 格式存儲
            • 19.8 多服務器處理架構
            • 19.9 使用代理緩存
            • 19.10 總結和增強

          其中還有豐富的代碼示例,絕對是一本學習Go語言的利器,最主要的好處當然還是開源以及中文~

          小編對Go語言不敢說特別了解的透徹,但是覺得GO語言的優(yōu)勢還在于以下幾點:

          • 部署方便,編譯起來不用依賴其他第三方的庫
          • 豐富的內置標準庫,功能強大
          • 性能出眾,速度超快,這在寸土寸金講究效率的今天更加重要
          • 高并發(fā),可同時運行成百上千個goroutines

          不過更多的詳細內容,可能還需要每個程序猿自己學習發(fā)掘了,畢竟每個人的編碼習慣與傾向都不一樣,一千個讀者就有一千個哈姆雷特,不管怎么樣,如果你想學習Go語言的話,這個開源項目真的是你不容錯過的一個好幫手:

          點擊下方卡片,關注公眾號“TJ君

          回復“GO”,獲取倉庫地址

          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无不卡无码高清视频在线观看 | 天天干天天操天天射 | 欧美综合激情网 | 日屄视频在线观看 | 欧美色图第五页 |