TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Go語言精進之路:從新手到高手的編程思想、方法和技巧2(簡體書)
滿額折

Go語言精進之路:從新手到高手的編程思想、方法和技巧2(簡體書)

人民幣定價:119 元
定  價:NT$ 714 元
優惠價:87621
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:18 點
相關商品
商品簡介
名人/編輯推薦
目次

商品簡介

內容簡介
Go入門容易,精進難,如何才能像Go開發團隊那樣寫出符合Go思維和語言慣例的高質量代碼呢?
本書將從編程思維和實踐技巧2個維度給出答案,幫助你在Go進階的路上事半功倍。
編程思維層面
只有真正領悟了一門語言的設計哲學和編程思維,並能將之用於實踐,才算精通了這門語言。本書從Go語言設計者的視角對Go背後的設計哲學和編程思想進行了梳理和分析,指引讀者體會那些看似隨意實則經過深思熟慮的設計背後的秘密。
實踐技巧層面
實踐技巧源于對Go開發團隊和Go社區開發的高質量代碼的閱讀、挖掘和歸納,從項目結構、代碼風格、語法及其實現、接口、併發、同步、錯誤與異常處理、測試與調試、性能優化、標準庫、第三方庫、工具鏈、Z佳實踐、工程實踐等多個方面給出了改善Go代碼質量、寫出符合 Go 思維和慣例的代碼的有效實踐。
全書的內容覆蓋如下10個大類,共66個主題,字字珠璣,句句箴言。
(1)Go語言的一切
(2)項目結構、代碼風格與標識符命名
(3)聲明、類型、語句與控制結構
(4)函數與方法
(5)接口
(6)併發編程
(7)錯誤處理
(8)測試、性能剖析與調試
(9)標準庫、反射與cgo
(10)工具鏈與工程實踐
學完這本書,你將擁有和 Go專家一樣的編程思維,寫出符合Go慣例和風格的高質量代碼,從眾多 Go 初學者中脫穎而出,快速實現從Go新手到專家的轉變!

名人/編輯推薦

Go圈知名架構師和佈道者撰寫,3大Go社區力薦,哲學、思維、技巧等66個主題快速幫你寫出高質量代碼

目次

推薦序
前言
第一部分 熟知Go語言的一切
第1條 瞭解Go語言的誕生與演進
1.1 Go語言的誕生
1.2 Go語言的早期團隊和演進歷程
1.3 Go語言正式發佈並開源
第2條 選擇適當的Go語言版本
2.1 Go語言的先祖
2.2 Go語言的版本發佈歷史
2.3 Go語言的版本選擇建議
第3條 理解Go語言的設計哲學
3.1 追求簡單,少即是多
3.2 偏好組合,正交解耦
3.3 原生併發,輕量高效
3.4 面向工程,“自帶電池”
第4條 使用Go語言原生編程思維來寫Go代碼
4.1 語言與思維―來自大師的觀點
4.2 現實中的“投影”
4.3 Go語言原生編程思維
第二部分 項目結構、代碼風格與標識符命名
第5條 使用得到公認且廣泛使用的項目結構
5.1 Go項目的項目結構
5.2 Go語言典型項目結構
第6條 提交前使用gofmt格式化源碼
6.1 gofmt:Go語言在解決規模化問題上的最佳實踐
6.2 使用gofmt
6.3 使用goimports
6.4 將gofmt/goimports與IDE或編輯器工具集成
第7條 使用Go命名慣例對標識符進行命名
7.1 簡單且一致
7.2 利用上下文環境,讓最短的名字
攜帶足夠多的信息
第三部分 聲明、類型、語句與
控制結構
第8條 使用一致的變量聲明形式
8.1 包級變量的聲明形式
8.2 局部變量的聲明形式
第9條 使用無類型常量簡化代碼
9.1 Go常量溯源
9.2 有類型常量帶來的煩惱
9.3 無類型常量消除煩惱,簡化代碼
第10條 使用iota實現枚舉常量
第11條 儘量定義零值可用的類型
11.1 Go類型的零值
11.2 零值可用
第12條 使用複合字面值作為初值構造器
12.1 結構體複合字面值
12.2 數組/切片複合字面值
12.3 map複合字面值
第13條 瞭解切片實現原理並高效使用
13.1 切片究竟是什麼
13.2 切片的高級特性:動態擴容
13.3 儘量使用cap參數創建切片
第14條 瞭解map實現原理並高效使用
14.1 什麼是map
14.2 map的基本操作
14.3 map的內部實現
14.4 儘量使用cap參數創建map
第15條 瞭解string實現原理並高效使用
15.1 Go語言的字符串類型
15.2 字符串的內部表示
15.3 字符串的高效構造
15.4 字符串相關的高效轉換
第16條 理解Go語言的包導入
16.1 Go程序構建過程
16.2 究竟是路徑名還是包名
16.3 包名衝突問題
第17條 理解Go語言表達式的求值順序
17.1 包級別變量聲明語句中的表達式求值順序
17.2 普通求值順序
17.3 賦值語句的求值
17.4 switch/select語句中的表達式求值
第18條 理解Go語言代碼塊與作用域
18.1 Go代碼塊與作用域簡介
18.2 if條件控制語句的代碼塊
18.3 其他控制語句的代碼塊規則簡介
第19條 瞭解Go語言控制語句慣用法及使用注意事項
19.1 使用if控制語句時應遵循“快樂路徑”原則
19.2 for range的避“坑”指南
19.3 break跳到哪裡去了
19.4 儘量用case表達式列表替代fallthrough
第四部分 函數與方法
第20條 在init函數中檢查包級變量的初始狀態
20.1 認識init函數
20.2 程序初始化順序
20.3 使用init函數檢查包級變量的初始狀態
第21條 讓自己習慣於函數是“一等公民”
21.1 什麼是“一等公民”
21.2 函數作為“一等公民”的特殊運用
第22條 使用defer讓函數更簡潔、更健壯
22.1 defer的運作機制
22.2 defer的常見用法
22.3 關於defer的幾個關鍵問題
第23條 理解方法的本質以選擇正確的receiver類型
23.1 方法的本質
23.2 選擇正確的receiver類型
23.3 基於對Go方法本質的理解巧解難題
第24條 方法集合決定接口實現
24.1 方法集合
24.2 類型嵌入與方法集合
24.3 defined類型的方法集合
24.4 類型別名的方法集合
第25條 瞭解變長參數函數的妙用
25.1 什麼是變長參數函數
25.2 模擬函數重載
25.3 模擬實現函數的可選參數與默認參數
25.4 實現功能選項模式
第五部分 接口
第26條 瞭解接口類型變量的內部表示
26.1 nil error值 != nil
26.2 接口類型變量的內部表示
26.3 輸出接口類型變量內部表示的詳細信息
26.4 接口類型的裝箱原理
第27條 儘量定義小接口
27.1 Go推薦定義小接口
27.2 小接口的優勢
27.3 定義小接口可以遵循的一些點
第28條 儘量避免使用空接口作為函數參數類型
第29條 使用接口作為程序水平組合的連接點
29.1 一切皆組合
29.2 垂直組合回顧
29.3 以接口為連接點的水平組合
第30條 使用接口提高代碼的可測試性
30.1 實現一個附加免責聲明的電子郵件發送函數
30.2 使用接口來降低耦合
第六部分 併發編程
第31條 優先考慮併發設計
31.1 併發與並行
31.2 Go

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 621
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區