完全自學! Go語言Golang實戰聖經| 誠品線上
文章推薦指數: 80 %
Go語言Golang實戰聖經:,內容介紹:你從未見過如此完整的Go語言中文教材! ... 本書以豐富的範例及練習,帶領讀者實地操作Go 語言的基礎及相關特色,讀完就能立馬投入 ...
誠品線上
中文出版
電腦
程式語言
完全自學!Go語言Golang實戰聖經
TheGoWorkshop:LearntoWriteClean,EfficientCodeandBuildHigh-performanceApplicationswithGo
作者
DelioD'Anna/AndrewHayes/SamHennessy/JeremyLeasor/GobinSougrakpam/DanielSzabo
出版社
旗標科技股份有限公司
商品描述
完全自學!Go語言Golang實戰聖經:,內容介紹:你從未見過如此完整的Go語言中文教材!Go語言☛2016年被TIOBE選為年度最佳程式語言☛2020年StackOverflow調查為『全球第三高
內容簡介
內容簡介內容介紹:你從未見過如此完整的Go語言中文教材!Go語言☛2016年被TIOBE選為年度最佳程式語言☛2020年StackOverflow調查為『全球第三高薪開發者職業』☛2020年超越Python成為『職業開發者最想學習語言』☛已被Google、Dropbox、Twitch、Uber等企業採用,也用來打造Docker、Kubernetes等熱門開源工具Go語言,或者『Golang』,是近年來成長最快速的新世代程式語言之一。
它語法接近C及Java,但藉由更精簡的語法來縮短開發時程、使專案能輕易擴張規模,並具備安全的靜態型別、記憶體垃圾回收、跨平台編譯能力等。
連Python之父GuidovanRossum都說,Go『是所有新語言中最具Python風格的』...最重要地,Go語言擁有豐富程度堪比Python的內建函式庫,無須下載額外套件,就能用少於10行程式寫出簡易HTTP伺服端應用!甚至,它獨特的Goroutine讓你能用簡單得稱奇的方式啟用非同步運算,超輕鬆解鎖現代多核心電腦的運算威力。
想跨足Go語言,讓履歷及薪水更上一層樓,卻依舊找不到合適的入門書嗎?本書以豐富的範例及練習,帶領讀者實地操作Go語言的基礎及相關特色,讀完就能立馬投入實戰。
替自己的職涯超前佈署,快速增加一技之長,別再只能對現況『滾動式修正』啦!本書特色:作者群擁有豐富的Go語言開發經驗,精心設計了「範例」、「練習」和「延伸習題」,讓讀者從實作中親自體會到Go語言的威力。
小編也在書中適當加入「編註」與「補充」,以幫助理解及補充必要知識,更增添本書的可讀性。
你將在本書讀到:☛Go語言的型別、函式、結構與介面☛模組管理和單元測試☛JSON資料、檔案、資料庫操作☛HTTP客戶端/伺服器應用和加密☛非同步運算☛附全書258個範例/練習程式及36個延伸習題檔案下載(使用Go1.16+)
作者介紹
作者介紹DelioD'Anna現任Cognitiv+的機器學習工程師,專長為分散式系統架構,有三年Go語言開發經驗。
AndrewHayes現任CICD平台Harness主管工程師,有三年Go語言開發資歷,工作過的產業類型包括儲存設備、網路、DevOps和雲端。
SamHennessy從2015年起轉為全職Go語言工程師,替新創企業、政府機構和大企業工作過,也擔任包括Go語言在內的講師。
現任日本WealthParkCo.,Ltd.不動產公司的後端經理。
JeremyLeasor現任資安公司AronisSCS的Go語言工程師,擁有超過20年IT資歷,包括4年以上的Go語言經驗,發展安全性與資料庫方面的應用。
GobinSougrakpam從系統整合工程師起家,目前是Go程式設計師,替VMWare和AMS等平台建置自動化方案。
現任資訊服務管理公司ServiceNow資深工程師。
DánielErnoSzabó現任水電管理企業Itron,Inc.的DevOps工程師,是個IT迷,熱愛Go、Python、Ruby和C#等多種語言。
產品目錄
產品目錄目錄:▶閱讀本書前的準備本書的表達習慣安裝Go語言安裝VisualStudioCode編輯器建立和執行專案TheGoPlayground本書執行專案的慣例從VSCode執行執行Go程式下載本書附錄、範例程式並開啟工作區▶Chapter1變數與算符1-1前言1-1-1Go語言簡介1-1-2Go語言的模樣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零值(zerovalues)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本章回顧▶Chapter2條件判斷與迴圈2-1前言2-2if敘述2-2-1if敘述基礎2-2-2else敘述2-2-3elseif敘述2-2-4if敘述的起始賦值2-3switch敘述2-3-1switch敘述基礎2-3-2switch的不同用法2-4迴圈2-4-1for迴圈基礎2-4-2fori迴圈2-4-3forrange迴圈2-4-4break和continue敘述2-5本章回顧▶Chapter3核心型別3-1前言3-2布林值:truefalse3-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-2Rune3-5nil值3-6本章回顧▶Chapter4複合型別4-1前言4-2集合型別(collectiontypes)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-1map的基礎4-5-2從map讀取元素4-5-3從map刪除元素4-6簡易自訂型別(customtypes)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型別switch4-9本章回顧▶Chapter5函式5-1前言5-2函式5-2-1函式的宣告和組成5-2-2函式參數5-2-3函式傳回值5-2-4NakedReturns5-3參數不定函式5-4匿名函式與閉包5-4-1宣告匿名函式5-4-2建立閉包5-5以函式為型別的參數5-5-1自訂函式型別5-5-2使用自訂函式型別的參數5-5-3用自訂函式型別作為傳回值5-6defer5-6-1用defer延後函式執行5-6-2多重defer的執行順序5-6-3defer對變數值的副作用5-7摘要▶Chapter6錯誤處理6-1前言6-2程式錯誤的類型6-2-1語法錯誤6-2-2執行期間錯誤6-2-3邏輯錯誤/語意錯誤6-3其它程式語言的錯誤處理方式6-4error介面6-4-1Go語言的error值6-4-2error型別定義6-4-3建立error值6-4-4(小編補充)使用fmt.Errorf()建立error值6-5panic6-5-1何謂panic?6-5-2panic()函式6-6recover(復原)6-7處理error與panic的指導方針6-8本章回顧.6-31▶Chapter7介面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型別斷言與型別switch7-5本章回顧▶Chapter8套件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-1GOROOT8-3-2GOPATH8-3-4GoModules★Go1.16+的預設套件管理方法8-3-5下載第三方模組或套件8-4套件的呼叫與執行8-4-1套件別名8-4-2init()函式8-5本章回顧▶Chapter9程式除錯:格式化訊息、日誌與單元測試9-1前言9-1-1臭蟲的發生原因9-1-2除錯原則9-2以fmt套件做格式化輸出9-2-1fmt套件9-2-2fmt的格式化輸出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本章回顧▶Chapter10時間處理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本章回顧▶Chapter11編碼/解碼JSON資料11-1前言11-2解碼JSON為Go結構11-2-1Unmarshal()11-2-2加上結構JSON標籤11-2-3解碼JSON到複合結構11-3將Go結構編碼為JSON11-3-1Marshal()11-3-2將有多重欄位的結構轉為JSON11-3-3略過欄位11-3-4有排版的JSON編碼結果11-4使用DecoderEncoder處理JSON資料11-5處理內容未知的JSON資料11-5-1將JSON格式解碼成map11-5-2將map編碼成JSON格式11-6gob:Go自有的編碼格式11-7本章回顧▶Chapter12系統與檔案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本章回顧▶ChapterSQL13與資料庫13-1前言13-2安裝MySQL資料庫13-2-1安裝MySQLServer13-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本章回顧▶Chapter14使用Go的HTTP客戶端14-1前言14-2Go語言的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本章回顧▶Chapter15建立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簡易RESTfulAPI:交換JSON資料15-8本章回顧▶Chapter16並行性運算16-1前言16-2使用Go語言的並行性運算16-2-1Goroutine16-2-2WaitGroup16-3解決記憶體資源競爭(racecondition)16-3-1原子操作(atomicoperation)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使用函式來產生通道及Goroutine16-5-5限制通道的收發方向16-5-6將結構方法當成Goroutine16-6context套件16-7本章回顧▶Chapter17運用Go語言工具17-1前言17-2gobuild工具:編譯可執行檔17-2-1使用gobuild17-2-2編譯條件:選擇要編譯的檔案★如何針對跨平台編譯17.3gorun工具:執行程式17-3gofmt工具:程式碼格式化★小編補充:Go語言伺服器gopls17-4govet:程式靜態分析工具★小編補充:Go語言風格檢查工具:golint17-5godoc工具:產生文件17-6goget工具;下載模組或套件17-7本章回顧▶Chapter18加密安全18-1前言18-2雜湊函式★使用MD5和SHA2SHA318-3加密法18-3-1對稱式加密法★使用AES+GCM18-3-2非對稱式加密法★使用RSA-OAEP18-4數位簽章★使用Ed2551918-5HTTPSTLS與X.509憑證★給客戶端和伺服器使用自簽署憑證★改用ECDSA簽章演算法18-6本章回顧▶Chapter19Go語言的特殊套件:reflect與unsafe19-1反射(reflection)19-1-1TypeOf()和ValueOf()19-1-2取得指標值和修改之19-1-3取得結構的欄位名稱、型別與其值19-1-4練習:用reflect取代介面斷言19-1-5DeepEqual19-2unsafe套件19-2-1unsafe.Pointer指標19-2-2以uintptr搭配unsafe存取記憶體位址19-2-3Go語言標準套件中的unsafe19-3本章回顧▶附錄延伸習題
商品規格
書名/
完全自學!Go語言Golang實戰聖經
作者/
DelioD'AnnaAndrewHayesSamHennessyJeremyLeasorGobinSougrakpamDanielSzabo
簡介/
完全自學!Go語言Golang實戰聖經:,內容介紹:你從未見過如此完整的Go語言中文教材!Go語言☛2016年被TIOBE選為年度最佳程式語言☛2020年StackOverflow調查為『全球第三高
出版社/
旗標科技股份有限公司
ISBN13/
9789863126706
ISBN10/
9863126705
EAN/
9789863126706
誠品26碼/
2682031232001
尺寸/
23X17X3.2CM
語言/
中文繁體
開數/
18K
級別/
無
頁數/
640
裝訂/
平裝
最佳賣點
最佳賣點:★精心設計了「範例」、「練習」和「延伸習題」,讓讀者從實作中親自體會到Go語言的威力★加入「編註」與「補充」,以幫助理解及補充必要知識,更增添本書的可讀性。
延伸文章資訊
- 1Day05-Go 語法I - iT 邦幫忙
Go Phishing!30 天用Go 實作Reverse Proxy 之釣魚大作戰系列第5 篇 ... 終於要開始講語法囉~Go Playground 是一個練習Go 的好地方,以下的範例都會...
- 2Go學習筆記Part 2-基本觀念練習 - Medium
本篇不會細談Go語言的觀念, 僅做範例分享, 以補強基本觀念.. “Go學習筆記Part 2-基本觀念練習” is published by Dorr Lin.
- 3整理了幾個golang的學習練習題 - 台部落
goLearningTest golang學習練習題初學go一直找不到合適的練習,最近在一本書中發現了一些練習題,整理,分享給大家代碼地址.
- 4golang99道练习题- 专栏- Go语言中文网- Golang中文社区
** **2.程序分析:关键是计算出每一项的值。 ** **3.程序源代码: ** ```go package main import "fmt" func main() { var m, n,...
- 5完全自學! Go語言Golang實戰聖經| 誠品線上
Go語言Golang實戰聖經:,內容介紹:你從未見過如此完整的Go語言中文教材! ... 本書以豐富的範例及練習,帶領讀者實地操作Go 語言的基礎及相關特色,讀完就能立馬投入 ...