中商进口商城店铺主页二维码
中商进口商城 微信认证
中商进口商城中华商务贸易有限公司所运营的英美日韩港台原版图书销售平台,旨在向内地读者介绍、普及、引进最新最有价值的国外和港台图书和资讯。
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

【中商原版】完全自学 Go 语言 Golang 实战圣经 The Go Workshop 港台原版 旗标 Go语言中文教材

202.00
运费: ¥ 8.00-70.00
库存: 1 件
【中商原版】完全自学 Go 语言 Golang 实战圣经 The Go Workshop 港台原版 旗标 Go语言中文教材 商品图0
【中商原版】完全自学 Go 语言 Golang 实战圣经 The Go Workshop 港台原版 旗标 Go语言中文教材 商品缩略图0

商品详情

《完全自學!Go 語言 (Golang) 實戰聖經》

The Go Workshop: Learn to write clean, efficient code and build high-performance applications with Go


作者: Delio D’Anna, Andrew Hayes, Sam Hennessy, Jeremy Leasor, Gobin Sougrakpam, Dániel Szabó  

譯者: 林班侯, 施威銘研究室

出版社:旗標  

出版日期:2021/07/08

語言:繁體中文

ISBN:9789863126706

規格:平裝 / 640頁 / 17 x 23 x 3.2 cm / 普通級 / 單色印刷 / 初版

出版地:中国台灣

本書分類:電腦資訊> 程式設計/APP開發> 其他程式設計相關

(页面参数仅供参考,具体以实物为准)

內容簡介

你從未見過如此完整的 Go 語言中文教材!


Go 語言

* 2016 年被 TIOBE 選為年度最佳程式語言

* 2020 年 Stack Overflow調查為 『全球第三高薪開發者職業』

* 2020 年超越 Python 成為『職業開發者最想學習語言』

* 已被 Google、Dropbox、Twitch、Uber 等企業採用,也用來打造 Docker、Kubernetes 等熱門開源工具


Go 語言,或者 『Golang』,是近年來成長最快速的新世代程式語言之一。它語法接近 C 及 Java,但藉由更精簡的語法來縮短開發時程、使專案能輕易擴張規模,並具備安全的靜態型別、記憶體垃圾回收、跨平台編譯能力等。連 Python 之父 Guido van Rossum 都說, Go『是所有新語言中最具 Python 風格的』...


最重要地,Go 語言擁有豐富程度堪比 Python 的內建函式庫,無須下載額外套件,就能用少於 10 行程式寫出簡易 HTTP 伺服端應用!甚至,它獨特的 Goroutine 讓你能用簡單得稱奇的方式啟用非同步運算,超輕鬆解鎖現代多核心電腦的運算威力。


想跨足 Go 語言,讓履歷及薪水更上一層樓,卻依舊找不到合適的入門書嗎?本書以豐富的範例及練習,帶領讀者實地操作 Go 語言的基礎及相關特色,讀完就能立馬投入實戰。替自己的職涯超前佈署,快速增加一技之長,別再只能對現況『滾動式修正』啦!


本書特色 

作者群擁有豐富的 Go 語言開發經驗,精心設計了「範例」、「練習」和「延伸習題」,讓讀者從實作中親自體會到 Go 語言的威力。小編也在書中適當加入「編註」與「補充」,以幫助理解及補充必要知識,更增添本書的可讀性。


你將在本書讀到:

* Go 語言的型別、函式、結構與介面

* 模組管理和單元測試

* JSON 資料、檔案、資料庫操作

* HTTP 客戶端/伺服器應用和加密

* 非同步運算

* 附全書 258 個範例/練習程式及 36 個延伸習題檔案下載 (使用 Go 1.16+ ) 

 

作者簡介

Delio D'Anna

現任 Cognitiv+ 的機器學習工程師, 專長為分散式系統架構, 有三年 Go 語言開發經驗。


Andrew Hayes

現任 CI/CD 平台 Harness 主管工程師, 有三年 Go 語言開發資歷,工作過的產業類型包括儲存設備、網路、DevOps 和雲端。


Sam Hennessy

從 2015 年起轉為全職 Go 語言工程師, 替新創企業、政府機構和大企業工作過, 也擔任包括 Go 語言在內的講師。現任日本 WealthPark Co., Ltd. 不動產公司的後端經理。


Jeremy Leasor

現任資安公司 Aronis SCS 的 Go 語言工程師, 擁有超過 20 年 IT 資歷, 包括 4 年以上的 Go 語言經驗, 發展安全性與資料庫方面的應用。


Gobin Sougrakpam

從系統整合工程師起家, 目前是 Go 程式設計師, 替 VMWare 和 AMS 等平台建置自動化方案。現任資訊服務管理公司 ServiceNow 資深工程師。


Dániel Erno Szabó

現任水電管理企業 Itron, Inc. 的 DevOps 工程師, 是個 IT 迷, 熱愛 Go、Python、Ruby 和 C# 等多種語言。

  

目錄

. 閱讀本書前的準備

本書的表達習慣

安裝 Go 語言

安裝 Visual Studio Code 編輯器

建立和執行專案

The Go Playground

本書執行專案的慣例

從 VS Code 執行執行 Go 程式

下載本書附錄、範例程式並開啟工作區


. Chapter 1 變數與算符

1-1 前言

1-1-1 Go 語言簡介

1-1-2 Go 語言的模樣

1-2 宣告變數 (variables)

1-2-1 用 var 宣告變數

1-2-2 用 var 一次宣告多個變數

1-2-3 用 var 宣告變數時省略型別或賦值

1-2-4 推斷型別發生問題的時候

1-2-5 短變數宣告

1-2-6 以短變數宣告建立多重變數

1-2-7 在單行程式內用 var 宣告多重變數

1-2-8 非英語的變數名稱

1-3 更改變數值

1-3-1 更改單一變數的值

1-3-2 一次更改多個變數值

1-4 算符 (operators)

1-4-1 算符基礎

1-4-2 算符簡寫法

1-4-3 值的比較

1-5 零值 (zero values)

1-6 值 vs. 指標 (pointers)

1-6-1 了解指標

1-6-2 取得指標

1-6-3 從指標取得值

1-6-4 採用指標的函式設計

1-7 常數 (constants)

1-8 列舉 (enums)

1-9 變數作用範圍 (Scope)

1-10 本章回顧


. Chapter 2 條件判斷與迴圈

2-1 前言

2-2 if 敘述

2-2-1 if 敘述基礎

2-2-2 else 敘述

2-2-3 else if 敘述

2-2-4 if 敘述的起始賦值

2-3 switch 敘述

2-3-1 switch 敘述基礎

2-3-2 switch 的不同用法

2-4 迴圈

2-4-1 for 迴圈基礎

2-4-2 for i 迴圈

2-4-3 for range 迴圈

2-4-4 break 和 continue 敘述

2-5 本章回顧


. Chapter 3 核心型別

3-1 前言

3-2 布林值:true/false

3-3 數字

3-3-1 整數

3-3-2 浮點數

3-3-3 溢位和越界繞回

3-3-4 大數值

3-3-5 位元組 (Byte)

3-4 字串 (String)

3-4-1 字串與字串常值

3-4-2 Rune

3-5 nil 值

3-6 本章回顧


. Chapter 4 複合型別

4-1 前言

4-2 集合型別 (collection types)

4-3 陣列 (array)

4-3-1 定義一個陣列

4-3-2 陣列的比較

4-3-3 透過索引鍵賦值

4-3-4 讀取陣列元素值

4-3-5 寫入值到陣列

4-3-6 走訪一個陣列

4-4 切片 (slice)

4-4-1 使用切片

4-4-2 為切片附加多重元素

4-4-3 從切片和陣列建立新的切片

4-4-4 了解切片的內部運作

4-4-5 切片的隱藏陣列置換

4-5 映射表 (map)

4-5-1 map 的基礎

4-5-2 從 map 讀取元素

4-5-3 從 map 刪除元素

4-6 簡易自訂型別 (custom types)

4-7 結構 (struct)

4-7-1 結構的定義

4-7-2 結構的相互比較

4-7-3 內嵌結構

4-7-4 替自訂型別加上方法 (method)

4-8 介面與型別檢查

4-8-1 型別轉換

4-8-2 型別斷言與 interface{} 空介面

4-8-3 型別 switch

4-9 本章回顧


. Chapter 5 函式

5-1 前言

5-2 函式

5-2-1 函式的宣告和組成

5-2-2 函式參數

5-2-3 函式傳回值

5-2-4 Naked Returns

5-3 參數不定函式

5-4 匿名函式與閉包

5-4-1 宣告匿名函式

5-4-2 建立閉包

5-5 以函式為型別的參數

5-5-1 自訂函式型別

5-5-2 使用自訂函式型別的參數

5-5-3 用自訂函式型別作為傳回值

5-6 defer

5-6-1 用 defer 延後函式執行

5-6-2 多重 defer 的執行順序

5-6-3 defer 對變數值的副作用

5-7 摘要


. Chapter 6 錯誤處理

6-1 前言

6-2 程式錯誤的類型

6-2-1 語法錯誤

6-2-2 執行期間錯誤

6-2-3 邏輯錯誤/語意錯誤

6-3 其它程式語言的錯誤處理方式

6-4 error 介面

6-4-1 Go 語言的 error 值

6-4-2 error 型別定義

6-4-3 建立 error 值

6-4-4 (小編補充) 使用 fmt.Errorf() 建立 error 值

6-5 panic

6-5-1 何謂 panic?

6-5-2 panic() 函式

6-6 recover (復原)

6-7 處理 error 與 panic 的指導方針

6-8 本章回顧.6-31


. Chapter 7 介面

7-1 前言

7-2 介面 (interface)

7-2-1 認識介面

7-2-2 定義介面型別

7-2-3 實作一個介面

7-2-4 隱性介面實作的優點

7-3 鴨子定型和多型

7-3-1 鴨子定型

7-3-2 多型

7-4 在函式中活用介面

7-4-1 以介面為參數的函式

7-4-2 以介面為傳回值的函式

7-4-3 空介面 interfac{}

7-4-4 型別斷言與型別 switch

7-5 本章回顧


. Chapter 8 套件

8-1 前言

8-1-1 何謂套件

8-1-2 運用套件的好處

8-2 使用套件

8-2-1 何謂套件

8-2-2 套件的命名

8-2-3 套件的宣告

8-2-4 將套件的功能匯出

8-3 管理套件

8-3-1 GOROOT

8-3-2 GOPATH

8-3-4 Go Modules ★ Go 1.16+ 的預設套件管理方法

8-3-5 下載第三方模組或套件

8-4 套件的呼叫與執行

8-4-1 套件別名

8-4-2 init() 函式

8-5 本章回顧


. Chapter 9 程式除錯:格式化訊息、日誌與單元測試

9-1 前言

9-1-1 臭蟲的發生原因

9-1-2 除錯原則

9-2 以 fmt 套件做格式化輸出

9-2-1 fmt 套件

9-2-2 fmt 的格式化輸出

9-2-3 印出浮點數的進階格式化

9-2-4 用 strconv.FormatFloat() 格式化浮點數

9-3 使用 log 提供追蹤訊息/日誌

9-3-1 印出追蹤訊息

9-3-2 用 log 套件輸出日誌

9-3-3 建立自訂 logger 物件

9-4 撰寫單元測試

9-5 本章回顧


. Chapter 10 時間處理

10-1 前言

10-2 建立時間資料

10-2-1 取得系統時間

10-2-2 取得時間資料中的特定項目

10-3 時間值的格式化

10-3-1 將時間轉成指定格式的字串

10-3-2 將特定格式的時間字串轉成時間值

10-4 時間值的管理

10-4-1 建立和增減時間值

10-4-2 設定時區來取得新時間值

10-5 時間值的比較與時間長度處理

10-5-1 比較時間

10-5-2 用時間長度來改變時間

10-5-3 測量時間長度

10-6 本章回顧


. Chapter 11 編碼/解碼 JSON 資料

11-1 前言

11-2 解碼 JSON 為 Go 結構

11-2-1 Unmarshal()

11-2-2 加上結構 JSON 標籤

11-2-3 解碼 JSON 到複合結構

11-3 將 Go 結構編碼為 JSON

11-3-1 Marshal()

11-3-2 將有多重欄位的結構轉為 JSON

11-3-3 略過欄位

11-3-4 有排版的 JSON 編碼結果

11-4 使用 Decoder/Encoder 處理 JSON 資料

11-5 處理內容未知的 JSON 資料

11-5-1 將 JSON 格式解碼成 map

11-5-2 將 map 編碼成 JSON 格式

11-6 gob:Go 自有的編碼格式

11-7 本章回顧


. Chapter 12 系統與檔案

12-1 前言

12-2 命令列旗標與其引數

12-3 系統中斷訊號

12-4 檔案存取權限

12-5 建立與寫入檔案

12-5-1 用 os 套件新建檔案

12-5-2 對檔案寫入字串

12-5-3 一次完成建立檔案及寫入

12-5-4 檢查檔案是否存在

12-5-5 一次讀取整個檔案內容

12-5-6 一次讀取檔案中的一行字串

12-5-7 刪除檔案

12-6 最完整的檔案開啟與建立功能:os.OpenFile()

12-7 處理 CSV 格式檔案

12-7-1 走訪 CSV 檔內容

12-7-2 讀取每行資料各欄位的值

12-6 本章回顧


. Chapter SQL 13 與資料庫

13-1 前言

13-2 安裝 MySQL 資料庫

13-2-1 安裝 MySQL Server

13-2-2 新增資料庫使用者

13-2-3 建立一個 MySQL 資料庫

13-2-4 下載 Go 語言的 MySQL 驅動程式

13-3 以 Go 語言連接資料庫

13-4 建立、清空和移除資料表

13-5 插入資料

13-6 查詢資料

13-6-1 查詢並印出整個資料表內容

13-6-2 查詢符合條件的資料

13-7 更新既有資料

13-8 練習:FizzBuzz 統計表

13-9 本章回顧


. Chapter 14 使用 Go 的 HTTP 客戶端

14-1 前言

14-2 Go 語言的 HTTP 客戶端

14-3 對伺服器傳送 GET 請求

14-3-1 使用 http.Get() 發送 GET 請求

14-3-2 取得並解析伺服器的 JSON 資料

14-4 用 POST 請求傳送資料給伺服器

14-4-1 送出 POST 請求並接收回應

14-4-2 用 POST 請求上傳檔案

14-5 在客戶端使用自訂標頭做為請求選項

14-6 本章回顧


. Chapter 15 建立 HTTP 伺服器程式

15-1 前言

15-2 打造最基本的伺服器

15-2-1 使用 HTTP 請求處理器 (handler)

15-2-2 簡單的 routing (路由) 控制

15-2-3 修改程式來應付多重路徑請求

15-3 解讀網址參數來動態產生網頁

15-4 使用模板產生網頁

15-5 使用靜態網頁資源

15-5-1 讀取靜態 HTML 網頁

15-5-2 在伺服器上提供多重靜態資源

15-5-3 使用模板檔案產生動態網頁

15-6 用表單和 POST 方法更新伺服器資料

15-7 簡易 RESTful API:交換 JSON 資料

15-8 本章回顧


. Chapter 16 並行性運算

16-1 前言

16-2 使用 Go 語言的並行性運算

16-2-1 Goroutine

16-2-2 WaitGroup

16-3 解決記憶體資源競爭 (race condition)

16-3-1 原子操作 (atomic operation)

16-3-2 互斥鎖 (mutex)

16-4 通道 (channel)

16-4-1 使用通道傳遞訊息

16-4-2 從通道讀取多重來源的資料

16-5 並行性運算的流程控制

16-5-1 通道緩衝區與通道關閉:close()

16-5-2 使用通道訊息來等待 Goroutine 結束

16-5-3 使用通道傳送取消信號

16-5-4 使用函式來產生通道及 Goroutine

16-5-5 限制通道的收發方向

16-5-6 將結構方法當成 Goroutine

16-6 context 套件

16-7 本章回顧


. Chapter 17 運用 Go 語言工具

17-1 前言

17-2 go build 工具:編譯可執行檔

17-2-1 使用 go build

17-2-2 編譯條件:選擇要編譯的檔案

★ 如何針對跨平台編譯

17.3 go run 工具:執行程式

17-3 gofmt 工具:程式碼格式化

★ 小編補充:Go 語言伺服器 gopls

17-4 go vet:程式靜態分析工具

★ 小編補充:Go 語言風格檢查工具:golint

17-5 go doc 工具:產生文件

17-6 go get 工具;下載模組或套件

17-7 本章回顧


. Chapter 18 加密安全

18-1 前言

18-2 雜湊函式 ★ 使用 MD5 和 SHA2/SHA3

18-3 加密法

18-3-1 對稱式加密法 ★ 使用 AES + GCM

18-3-2 非對稱式加密法 ★ 使用 RSA-OAEP

18-4 數位簽章 ★ 使用 Ed25519

18-5 HTTPS/TLS 與 X.509 憑證

★ 給客戶端和伺服器使用自簽署憑證

★ 改用 ECDSA 簽章演算法

18-6 本章回顧


. Chapter 19 Go 語言的特殊套件:reflect 與 unsafe

19-1 反射 (reflection)

19-1-1 TypeOf() 和 ValueOf()

19-1-2 取得指標值和修改之

19-1-3 取得結構的欄位名稱、型別與其值

19-1-4 練習:用 reflect 取代介面斷言

19-1-5 DeepEqual

19-2 unsafe 套件

19-2-1 unsafe.Pointer 指標

19-2-2 以 uintptr 搭配 unsafe 存取記憶體位址

19-2-3 Go 語言標準套件中的 unsafe

19-3 本章回顧


. 附錄 延伸習題

中商进口商城店铺主页二维码
中商进口商城 微信公众号认证
中商进口商城中华商务贸易有限公司所运营的英美日韩港台原版图书销售平台,旨在向内地读者介绍、普及、引进最新最有价值的国外和港台图书和资讯。
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

【中商原版】完全自学 Go 语言 Golang 实战圣经 The Go Workshop 港台原版 旗标 Go语言中文教材

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:Imported-Book_online
中商会员中心官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏