Go 學習手冊 第二版∣寫出符合慣例的Go程式
-
85折 782元
920元 - 認購希望書包,幫助弱勢兒安心開學!
-
預計最高可得金幣35點 ? 可100%折抵
活動加倍另計 -
HAPPY GO享100累1點 4點抵1元折抵無上限
- 作者: Jon Bodner 追蹤 ? 追蹤作者後,您會在第一時間收到作者新書通知。
- 譯者:賴屹民
- 出版社: 歐萊禮 追蹤 ? 追蹤出版社後,您會在第一時間收到出版社新書通知。
- 出版日:2025/06/24
活動訊息
用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看
內容簡介
內容簡介:🏆 來自業界專家推薦與讀者好評
「《Go 學習手冊》不但教你Go,還教你寫出符合慣例的Go程式。這本書對已經熟悉其他語言的程式設計師來說,是學習Go 的完美讀物。」
—Chris Hines,Comcast 資深首席軟體工程師
「Go是獨特的語言,即使是經驗豐富的程式設計師也必須捨棄一些既有的思維,並以不同的方式來思考軟體開發。這本書詳細介紹了這種語言的主要功能,並展示了它的慣用語法、陷阱,與設計模式。」
—Aaron Schlesinger,微軟資深工程師
「最棒的Go語言概覽!如果想學Go的精髓,想確保程式碼慣用且易懂,這本書最適合。」
「第一版已經很棒,第二版又更出色了!章節末的練習題讓學習更扎實。」
—Amazon讀者評論
「這本書教我如何寫出『像Go的Go程式碼』,解釋清晰,程式碼範例很實用。」
—Goodreads讀者評論
「最好的Go語言書!更現代,解釋更清楚,適合想快速上手的人。」
—Reddit使用者回饋
🚀新版升級!深度解析Go泛型與實務練習,打造符合慣例的高效Go程式!
改版全面擴充升級:
✔內容升級,涵蓋Go語言近年重大變革與實務進展。
✔深入解析Go泛型(Generics),從語法到實應用完整整合,掌握現代Go必備技能。
✔強化實務開發與效能調校技巧,深入工具鏈、專案架構、團隊協作實務。
✔融匯設計理念與最佳實踐,理解Go思維,寫出絕佳的GO程式。
✔新增章後練習題,吸收→練習→內化,學習效果更有感。
------------------------------------------------------
Go語言迅速成為設計web服務的首選語言。市面上有許多教學資源,為具備其他程式語言經驗的開發者講解Go的語法,但那些課程仍然不夠全面,通常不會教導Go語言的慣用寫法,導致開發者在Go的環境中反覆使用不合適的模式。這本實用的指南將提供所需的基本知識,協助你寫出清晰且符合Go語言慣例的程式碼。
無論您是新手還是具備經驗的開發者,都能學會如何以Go開發者的思維進行程式設計。作者Jon Bodner介紹了許多資深Go開發者所採用的設計模式,並深入探討使用這些模式的理由及其背後的邏輯。在本次全新改版中也會展示Go語言的泛型功能,及其如何融入整體語言架構中。
本書將協助你:
•寫出符合慣例的Go程式碼,並設計Go專案。
•瞭解Go語言的設計決策背後的理由。
•為個人開發者或開發團隊設置Go語言開發環境。
•學習如何使用reflection、unsafe與cgo,及其使用時機。
•明白Go的功能如何讓這種語言高效運行。
•知道哪些功能應盡量少用,甚至完全避免。
•改善效能、將記憶體的使用量最佳化,以及減少記憶體回收次數。
•瞭解如何使用Go的進階開發工具。
「《Go 學習手冊》不但教你Go,還教你寫出符合慣例的Go程式。這本書對已經熟悉其他語言的程式設計師來說,是學習Go 的完美讀物。」
—Chris Hines,Comcast 資深首席軟體工程師
「Go是獨特的語言,即使是經驗豐富的程式設計師也必須捨棄一些既有的思維,並以不同的方式來思考軟體開發。這本書詳細介紹了這種語言的主要功能,並展示了它的慣用語法、陷阱,與設計模式。」
—Aaron Schlesinger,微軟資深工程師
「最棒的Go語言概覽!如果想學Go的精髓,想確保程式碼慣用且易懂,這本書最適合。」
「第一版已經很棒,第二版又更出色了!章節末的練習題讓學習更扎實。」
—Amazon讀者評論
「這本書教我如何寫出『像Go的Go程式碼』,解釋清晰,程式碼範例很實用。」
—Goodreads讀者評論
「最好的Go語言書!更現代,解釋更清楚,適合想快速上手的人。」
—Reddit使用者回饋
🚀新版升級!深度解析Go泛型與實務練習,打造符合慣例的高效Go程式!
改版全面擴充升級:
✔內容升級,涵蓋Go語言近年重大變革與實務進展。
✔深入解析Go泛型(Generics),從語法到實應用完整整合,掌握現代Go必備技能。
✔強化實務開發與效能調校技巧,深入工具鏈、專案架構、團隊協作實務。
✔融匯設計理念與最佳實踐,理解Go思維,寫出絕佳的GO程式。
✔新增章後練習題,吸收→練習→內化,學習效果更有感。
------------------------------------------------------
Go語言迅速成為設計web服務的首選語言。市面上有許多教學資源,為具備其他程式語言經驗的開發者講解Go的語法,但那些課程仍然不夠全面,通常不會教導Go語言的慣用寫法,導致開發者在Go的環境中反覆使用不合適的模式。這本實用的指南將提供所需的基本知識,協助你寫出清晰且符合Go語言慣例的程式碼。
無論您是新手還是具備經驗的開發者,都能學會如何以Go開發者的思維進行程式設計。作者Jon Bodner介紹了許多資深Go開發者所採用的設計模式,並深入探討使用這些模式的理由及其背後的邏輯。在本次全新改版中也會展示Go語言的泛型功能,及其如何融入整體語言架構中。
本書將協助你:
•寫出符合慣例的Go程式碼,並設計Go專案。
•瞭解Go語言的設計決策背後的理由。
•為個人開發者或開發團隊設置Go語言開發環境。
•學習如何使用reflection、unsafe與cgo,及其使用時機。
•明白Go的功能如何讓這種語言高效運行。
•知道哪些功能應盡量少用,甚至完全避免。
•改善效能、將記憶體的使用量最佳化,以及減少記憶體回收次數。
•瞭解如何使用Go的進階開發工具。
目錄
前言
第一章 設定你的Go環境
安裝Go工具
你的第一個Go程式
選擇你的工具
Makefiles
Go Compatibility Promise
保持最新狀態
第二章 預宣告型態,及宣告
預宣告型態
var vs. :=
使用const
typed與untyped常數
未使用的變數
為變數和常數命名
第三章 複合型態
陣列— 太僵化,無法直接使用
slice
字串與rune與byte
map
struct
第四章 區塊、遮蔽,與控制結構
區塊
遮蔽變數
if
四種for
switch
goto—你沒看錯,正是goto
第五章 函式
宣告與呼叫函式
函式是值
closure
defer
Go是以值呼叫的
第六章 指標
指標快速入門
別怕指標
指標代表可變參數
指標是最終手段
指標傳遞效能
零值vs.無值
map與slice之間的區別
將slice當成緩衝區
減少記憶體回收程序的工作負擔
調整記憶體回收程序
第七章 型態、方法,與介面
Go的型態
方法
iota用於列舉⋯有時啦!
用內嵌來組合
內嵌並非繼承
介面快速入門
介面是型態安全的鴨子定型
內嵌與介面
接收介面,回傳struct
介面與nil
介面是可比較的
空介面沒有任何意義
型態斷定與型態切換
謹慎使用型態斷定和typeswitch
函式型態是通往介面的橋樑
隱性介面可讓依賴注入更方便進行
Wire
Go不太物件導向(這是很棒的事情)
第八章 泛型
泛型可減少重複的程式碼,並提高型態安全性
Go泛型簡介
泛型函式抽象演算法
泛型與介面
使用型態項來指定運算子
型態推斷與泛型
用型態元素來限制常數
結合泛型函式與泛型資料結構
關於comparable的其他事項
被排除的功能
符合慣例的Go與泛型
在標準程式庫中加入泛型
未來解鎖的功能
第九章 錯誤
如何處理錯誤:基本知識
用字串來指出簡單的錯誤
哨符錯誤
error是值
包裝錯誤
包裝多個錯誤
Is與As
用defer來包裝error
panic與recover
從error取得堆疊追蹤
第十章 模組、套件,與匯入
版本庫、模組,與套件
使用go.mod
建立套件
使用模組
發布你的模組
控制模組的版本
模組代理伺服器
第十一章 Go工具
使用go run來試驗小型程式
使用go install來加入第三方工具
使用goimports來改善匯入格式
使用程式碼品質掃描器
使用govulncheck來掃描有漏洞的依賴項目
將內容嵌入你的程式
嵌入隱藏檔案
使用go generate
使用go generate和Makefile
讀取Go二進制檔案中的組建資訊
為其他平台組建Go二進制檔
使用組建標籤
測試不同版本的Go
使用gohelp來進一步瞭解Go工具
第十二章 Go的並行
使用並行的時機
goroutine
channel
select
並行實踐法與模式
何時該使用mutex,而不是channel
原子變數—你應該不需要它們
進一步瞭解並行
第十三章 標準程式庫
io與朋友
time
encoding/json
net/http
結構化的日誌記錄
第十四章 context
什麼是context?
值
取消
帶有最終期限的context
在你自己的程式中處理context取消
第十五章 編寫測試程式
測試的基本知識
執行表格測試
並行執行測試
檢查代碼覆蓋率
模糊測試(Fuzzing)
使用效能評測
使用Go的stub
使用httptest
使用整合測試與組建標籤
使用資料競態檢查器來尋找並行問題
第十六章 惡龍禁地:Reflect、Unsafe與Cgo
reflection可讓你在執行期使用型態
unsafe不安全
cgo用於整合,而非提升效能
索引
第一章 設定你的Go環境
安裝Go工具
你的第一個Go程式
選擇你的工具
Makefiles
Go Compatibility Promise
保持最新狀態
第二章 預宣告型態,及宣告
預宣告型態
var vs. :=
使用const
typed與untyped常數
未使用的變數
為變數和常數命名
第三章 複合型態
陣列— 太僵化,無法直接使用
slice
字串與rune與byte
map
struct
第四章 區塊、遮蔽,與控制結構
區塊
遮蔽變數
if
四種for
switch
goto—你沒看錯,正是goto
第五章 函式
宣告與呼叫函式
函式是值
closure
defer
Go是以值呼叫的
第六章 指標
指標快速入門
別怕指標
指標代表可變參數
指標是最終手段
指標傳遞效能
零值vs.無值
map與slice之間的區別
將slice當成緩衝區
減少記憶體回收程序的工作負擔
調整記憶體回收程序
第七章 型態、方法,與介面
Go的型態
方法
iota用於列舉⋯有時啦!
用內嵌來組合
內嵌並非繼承
介面快速入門
介面是型態安全的鴨子定型
內嵌與介面
接收介面,回傳struct
介面與nil
介面是可比較的
空介面沒有任何意義
型態斷定與型態切換
謹慎使用型態斷定和typeswitch
函式型態是通往介面的橋樑
隱性介面可讓依賴注入更方便進行
Wire
Go不太物件導向(這是很棒的事情)
第八章 泛型
泛型可減少重複的程式碼,並提高型態安全性
Go泛型簡介
泛型函式抽象演算法
泛型與介面
使用型態項來指定運算子
型態推斷與泛型
用型態元素來限制常數
結合泛型函式與泛型資料結構
關於comparable的其他事項
被排除的功能
符合慣例的Go與泛型
在標準程式庫中加入泛型
未來解鎖的功能
第九章 錯誤
如何處理錯誤:基本知識
用字串來指出簡單的錯誤
哨符錯誤
error是值
包裝錯誤
包裝多個錯誤
Is與As
用defer來包裝error
panic與recover
從error取得堆疊追蹤
第十章 模組、套件,與匯入
版本庫、模組,與套件
使用go.mod
建立套件
使用模組
發布你的模組
控制模組的版本
模組代理伺服器
第十一章 Go工具
使用go run來試驗小型程式
使用go install來加入第三方工具
使用goimports來改善匯入格式
使用程式碼品質掃描器
使用govulncheck來掃描有漏洞的依賴項目
將內容嵌入你的程式
嵌入隱藏檔案
使用go generate
使用go generate和Makefile
讀取Go二進制檔案中的組建資訊
為其他平台組建Go二進制檔
使用組建標籤
測試不同版本的Go
使用gohelp來進一步瞭解Go工具
第十二章 Go的並行
使用並行的時機
goroutine
channel
select
並行實踐法與模式
何時該使用mutex,而不是channel
原子變數—你應該不需要它們
進一步瞭解並行
第十三章 標準程式庫
io與朋友
time
encoding/json
net/http
結構化的日誌記錄
第十四章 context
什麼是context?
值
取消
帶有最終期限的context
在你自己的程式中處理context取消
第十五章 編寫測試程式
測試的基本知識
執行表格測試
並行執行測試
檢查代碼覆蓋率
模糊測試(Fuzzing)
使用效能評測
使用Go的stub
使用httptest
使用整合測試與組建標籤
使用資料競態檢查器來尋找並行問題
第十六章 惡龍禁地:Reflect、Unsafe與Cgo
reflection可讓你在執行期使用型態
unsafe不安全
cgo用於整合,而非提升效能
索引
配送方式
-
台灣
- 國內宅配:本島、離島
-
到店取貨:
不限金額免運費
-
海外
- 國際快遞:全球
-
港澳店取:
詳細資料
詳細資料
-
- 語言
- 中文繁體
- 裝訂
- 紙本平裝
-
- ISBN
- 9786263249943
- 分級
- 普通級
-
- 頁數
- 520
- 商品規格
- 18開17*23cm
-
- 出版地
- 台灣
- 適讀年齡
- 全齡適讀
-
- 注音
- 級別
訂購/退換貨須知
退換貨須知:
**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**
-
依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
- 依消費者要求所為之客製化給付。(客製化商品)
- 報紙、期刊或雜誌。(含MOOK、外文雜誌)
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
- 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
- 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
- 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
- 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
商品評價