幫助中心 | 我的帳號 | 關於我們

Go語言學習指南(慣例模式與編程實踐原書第2版)

  • 作者:(美)喬恩·博德納|責編:王春華|譯者:邵帥//于鑫蕾//任照松
  • 出版社:機械工業
  • ISBN:9787111791454
  • 出版日期:2025/10/01
  • 裝幀:平裝
  • 頁數:396
人民幣:RMB 149 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Go語言已迅速成為構建Web服務的首選語言。市面上有大量教程,但向具備其他編程語言經驗的開發者傳授Go語言的語法,僅靠這些教程還遠遠不夠,因為它們並未教授Go語言的慣用寫法,導致開發者最終往往會套用在Go語言環境中毫無意義的代碼模式。而本實用指南將為你提供必要的背景知識,助你編寫清晰、地道的Go語言代碼。
    無論你擁有何種程度的開發經驗,都能通過本書學會以Go開發者的思維模式思考。作者Jon Bodner不僅介紹了資深Go開發者所採用的設計模式,還深入探討了使用這些模式的根本原因。相較上一版,本書還新增了一章內容,專門講解Go語言工具集。
    本書將幫助你:
    編寫地道的Go語言代碼並設計Go語言項目。
    理解Go語言各項設計決策背後的原因。
    為個人開發者或開發團隊搭建Go語言開發環境。
    學習如何以及何時使用反射(reflection)、unsafe與cgo。
    探究Go語言的特性如何確保該語言能夠高效運行。
    明確哪些特性應謹慎使用或完全不用。
    提升程序性能、優化內存使用並減少垃圾回收的開銷。
    學習如何使用Go語言的高級開發工具。

作者介紹
(美)喬恩·博德納|責編:王春華|譯者:邵帥//于鑫蕾//任照松
    喬恩·博德納(Jon Bodner)是Capital One公司的一名傑出工程師,擁有20多年的軟體工程師、首席開發者和架構師工作經驗。他從事過多個領域的軟體開發工作,包括教育、金融、商業、醫療保健、法律、政府和互聯網基礎設施。

目錄
前言
第1章  設置你的Go環境
  1.1  安裝Go工具
  1.2  你的第一個Go程序
  1.3  選擇你的工具
  1.4  Makefile文件
  1.5  Go兼容性承諾
  1.6  保持更新
  1.7  練習
  1.8  總結
第2章  基礎類型和變數聲明
  2.1  基礎類型
  2.2  var與:=的區別
  2.3  使用const
  2.4  有類型常量和無類型常量
  2.5  未使用的變數
  2.6  命名變數和常量
  2.7  練習
  2.8  總結
第3章  複合類型
  3.1  數組類型——因不靈活而較少被使用
  3.2  切片類型
  3.3  字元串、字元和位元組
  3.4  映射類型
  3.5  結構體類型
  3.6  練習
  3.7  總結
第4章  代碼塊、影子變數和控制結構
  4.1  代碼塊
  4.2  影子變數
  4.3  if語句
  4.4  for語句
  4.5  switch語句
  4.6  goto語句
  4.7  練習
  4.8  總結
第5章  函數
  5.1  聲明和調用函數
  5.2  函數也是值
  5.3  閉包
  5.4  defer
  5.5  Go語言的值傳遞
  5.6  練習
  5.7  總結
第6章  指針
  6.1  快速指針入門
  6.2  不畏懼指針
  6.3  指針表示可變參數
  6.4  指針是最後的手段
  6.5  指針傳遞的性能

  6.6  零值與無值的區別
  6.7  映射與切片的區別
  6.8  切片作為緩衝區
  6.9  減少垃圾回收的負擔
  6.10  垃圾回收器調優
  6.11  練習
  6.12  總結
第7章  類型、方法和介面
  7.1  語言中的類型
  7.2  方法
  7.3  iota有時用於枚舉
  7.4  使用內嵌進行組合
  7.5  內嵌不是繼承
  7.6  介面概覽
  7.7  介面是類型安全的鴨子類型
  7.8  內嵌與介面
  7.9  接收介面,返回結構體
  7.10  介面和nil
  7.11  介面是可比較的
  7.12  空介面
  7.13  類型斷言和type-switch
  7.14  謹慎使用類型斷言和type-switch
  7.15  函數類型實現介面
  7.16  隱式介面實現依賴注入
  7.17  Wire
  7.18  Go並非傳統意義上的面向對象語言
  7.19  練習
  7.20  總結
第8章  泛型
  8.1  泛型減少重複代碼並增強類型安全性
  8.2  在Go中引入泛型
  8.3  泛型函數抽象演算法
  8.4  泛型和介面
  8.5  使用類型術語指定運算符
  8.6  類型推斷與泛型
  8.7  類型元素限制常量
  8.8  結合泛型函數與泛型數據結構
  8.9  關於可比性的更多信息
  8.10  被省略的事物
  8.11  習慣性的Go語言和泛型使用
  8.12  向標準庫添加泛型
  8.13  解鎖未來特性
  8.14  練習
  8.15  總結
第9章  錯誤處理
  9.1  如何處理錯誤:基礎知識
  9.2  使用字元串創建簡單錯誤
  9.3  哨兵錯誤
  9.4  錯誤也是值
  9.5  包裝錯誤

  9.6  包裝多個錯誤
  9.7  Is和As
  9.8  使用defer包裝錯誤
  9.9  panic與recover
  9.10  從錯誤中獲取棧跟蹤
  9.11  練習
  9.12  總結
第10章  模塊、包和導入
  10.1  倉庫、模塊和包
  10.2  使用go.mod
  10.3  創建包
  10.4  使用模塊
  10.5  發布模塊
  10.6  對模塊進行版本控制
  10.7  模塊代理伺服器
  10.8  附加細節
  10.9  練習
  10.10  總結
第11章  Go工具集
  11.1  使用go run構建並執行
  11.2  使用go install添加第三方工具
  11.3  使用goimports改進導入格式
  11.4  使用代碼質量靜態分析工具
  11.5  使用govulncheck掃描存在漏洞的依賴項
  11.6  嵌入內容到程序中
  11.7  嵌入隱藏文件
  11.8  使用go generate
  11.9  使用go generate和Makefile
  11.10  在Go二進位文件內讀取構建信息
  11.11  為其他平台構建Go二進位文件
  11.12  使用構建標籤
  11.13  測試Go的版本
  11.14  使用go help了解有關Go工具的更多信息
  11.15  練習
  11.16  總結
第12章  Go中的併發性
  12.1  何時使用併發
  12.2  協程
  12.3  通道
  12.4  select
  12.5  併發實踐和模式
  12.6  何時使用互斥鎖而不是通道
  12.7  原子操作——你可能不需要這些
  12.8  關於併發的更多學習資源
  12.9  練習
  12.10  總結
第13章  標準庫
  13.1  io家族
  13.2  時間
  13.3  encoding/json

  13.4  net/http
  13.5  結構化日誌
  13.6  練習
  13.7  總結
第14章  context
  14.1  什麼是context
  14.2  值
  14.3  取消
  14.4  帶有截止時間的context
  14.5  在代碼中取消context
  14.6  練習
  14.7  總結
第15章  編寫測試
  15.1  測試的基本知識
  15.2  表格驅動測試
  15.3  併發運行測試
  15.4  檢查代碼覆蓋率
  15.5  模糊測試
  15.6  使用基準測試
  15.7  Go中的測試樁
  15.8  httptest
  15.9  集成測試和構建標籤
  15.10  使用數據競爭檢測器檢查併發問題
  15.11  練習
  15.12  總結
第16章  惡龍禁區:反射、unsafe和cgo
  16.1  反射:運行時類型處理
  16.2  unsafe意味著不安全
  16.3  cgo用於集成而非性能優化
  16.4  練習
  16.5  總結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032