Go程序開發(fā)實戰(zhàn)寶典
鏈接:https://pan.baidu.com/s/1rXaFWkz51zwNpVlXXif7Ag?pwd=sao7?
提取碼:sao7

編輯推薦
適讀人群 :Go語言程序員;相關(guān)專業(yè)院校師生
1. 本書特色:結(jié)合典型案例講解知識點,系統(tǒng)涵蓋Go語言主要功能、服務(wù)端開發(fā)常見問題處理和Gin框架三大技術(shù)主線,重點突出、直達痛點、實用性強
2. 附贈資源:額外贈送60分鐘相關(guān)知識點視頻講解及案例源代碼
內(nèi)容簡介
《Go程序開發(fā)實戰(zhàn)寶典》結(jié)合典型案例進行知識點講解,內(nèi)容通俗易懂、重點突出、實用性強,囊括Go語言的主要功能。全書共14章,前6章主要包括基礎(chǔ)數(shù)據(jù)類型、循環(huán)控制、函數(shù)和指針、內(nèi)置容器、字符串處理等;第7章主要講解Go語言的面向?qū)ο缶幊?,主要包括結(jié)構(gòu)體、方法、接口、設(shè)計模式、反射等內(nèi)容;第8~13章主要介紹服務(wù)端開發(fā)經(jīng)常需要處理的問題,主要包括Go語言的編寫規(guī)范、錯誤處理、異常處理、文件讀寫操作、JSON編碼解碼、網(wǎng)絡(luò)編程、gRPC、并發(fā)編程、數(shù)據(jù)庫編程、網(wǎng)絡(luò)安全和測試等內(nèi)容。此外,本書還對一些數(shù)據(jù)類型的底層結(jié)構(gòu)、并發(fā)機制、垃圾回收進行了深入的講解,*后一章通過對Gin框架的介紹和使用,完成了一個基礎(chǔ)的分布式網(wǎng)盤項目。
《Go程序開發(fā)實戰(zhàn)寶典》附贈了相關(guān)知識點的視頻講解及案例源代碼,讀者可自行下載(詳細方法見本書封底)。
《Go程序開發(fā)實戰(zhàn)寶典》適合所有對Go語言感興趣的開發(fā)人員閱讀,即使沒有Go語言基礎(chǔ)也可以直接上手使用,同時也可作為計算機相關(guān)專業(yè)師生的參考用書。
作者簡介
1. 穆旭東,高級軟件工程師、全棧開發(fā)者,精通C/C++,對Go語言有深入的理解,深耕技術(shù)領(lǐng)域多年,對高并發(fā)架構(gòu)、微服務(wù)、云計算領(lǐng)域有深入研究。擅長高并發(fā)網(wǎng)站架構(gòu)設(shè)計、實施、自動化運維開發(fā)。具有豐富的技術(shù)教學(xué)經(jīng)驗和教材編寫經(jīng)驗,擅長通過深入淺出的語言講解底層機制。
2. 譚慶豐,教授,廣州大學(xué)“百人計劃”引進人才,當(dāng)前主要從事網(wǎng)絡(luò)與信息安全技術(shù)研究,主持國家自然科學(xué)基金面上項目等項目總計10余項。在IEEE TON、IoTJ、《計算機學(xué)報》等國內(nèi)外重要期刊/會議上發(fā)表論文30余篇。
目錄
按知識點分類的視頻列表
前言
第1章 初識Go語言
1.1 Go語言簡介
1.1.1 Go語言的三位主要作者
1.1.2 關(guān)于名字
1.1.3 吉祥物
1.1.4 特點與優(yōu)勢
1.1.5 著名項目
1.2 開發(fā)環(huán)境搭建
1.2.1 Linux環(huán)境
1.2.2 Windows環(huán)境
1.3 集成開發(fā)環(huán)境GoLand
1.3.1 下載及安裝
1.3.2 創(chuàng)建項目
1.3.3 編寫第一個程序
1.4 Go語言程序結(jié)構(gòu)
1.4.1 標識符
1.4.2 關(guān)鍵字
1.4.3 字面量
1.4.4 注釋
1.4.5 分隔符
1.4.6 可見性規(guī)則
1.5 本章小結(jié)
1.6 習(xí)題
第2章 數(shù)據(jù)類型與運算符
2.1 變量
2.1.1 變量的概念
2.1.2 變量聲明與賦值
2.1.3 變量多重賦值
2.1.4 匿名變量
2.2 數(shù)據(jù)類型
2.2.1 整型
2.2.2 浮點型
2.2.3 復(fù)數(shù)
2.2.4 布爾型
2.2.5 字符串
2.2.6 字符
2.2.7 類型轉(zhuǎn)換
2.2.8 類型別名
2.3 常量
2.3.1 聲明方式
2.3.2 枚舉
2.3.3 iota
2.4 運算符
2.4.1 算術(shù)運算符
2.4.2 關(guān)系運算符
2.4.3 邏輯運算符
2.4.4 位運算符
2.4.5 賦值運算符
2.4.6 其他運算符
2.4.7 運算符優(yōu)先級
2.5 本章小結(jié)
2.6 習(xí)題
第3章 流程控制
3.1 條件判斷語句
3.1.1 語法結(jié)構(gòu)
3.1.2 if語句
3.1.3 if else語句
3.1.4 else if語句
3.1.5 if嵌套語句
3.2 switch語句
3.2.1 語法結(jié)構(gòu)
3.2.2 type switch
3.2.3 switch初始化
3.2.4 fallthrough
3.3 循環(huán)語句
3.3.1 語法結(jié)構(gòu)
3.3.2 嵌套循環(huán)
3.3.3 range子語句
3.4 循環(huán)控制語句
3.4.1 break語句
3.4.2 continue語句
3.4.3 goto語句和標簽
3.5 本章小結(jié)
3.6 習(xí)題
第4章 函數(shù)與指針
4.1 函數(shù)
4.1.1 函數(shù)聲明
4.1.2 作用域
4.1.3 函數(shù)變量
4.1.4 閉包與匿名函數(shù)
4.1.5 可變參數(shù)
4.1.6 遞歸函數(shù)
4.2 指針
4.2.1 指針的本質(zhì)
4.2.2 基本操作
4.2.3 new函數(shù)
4.2.4 nil指針
4.2.5 指針的指針
4.3 函數(shù)的參數(shù)傳遞
4.3.1 形參和實參
4.3.2 值傳遞
4.3.3 引用傳遞
4.3.4 值類型和引用類型
4.4 本章小結(jié)
4.5 習(xí)題
第5章 復(fù)合數(shù)據(jù)類型
5.1 數(shù)組
5.1.1 理解數(shù)組
5.1.2 聲明和初始化
5.1.3 訪問和修改
5.1.4 遍歷數(shù)組
5.1.5 多維數(shù)組
5.1.6 函數(shù)間傳遞數(shù)組
5.1.7 數(shù)組指針與指針數(shù)組
5.2 切片
5.2.1 理解切片
5.2.2 聲明和初始化
5.2.3 修改和截取
5.2.4 增長和復(fù)制
5.2.5 刪除切片元素
5.2.6 快速排序
5.3 map
5.3.1 理解map
5.3.2 創(chuàng)建map
5.3.3 刪除元素
5.3.4 函數(shù)間傳遞map
5.4 本章小結(jié)
5.5 習(xí)題
第6章 字符串
6.1 基本操作
6.1.1 字符串底層結(jié)構(gòu)
6.1.2 UTF-8編碼
6.1.3 常用操作
6.1.4 遍歷字符串
6.2 處理方法
6.2.1 檢索字符串
6.2.2 分隔字符串
6.2.3 大小寫轉(zhuǎn)換
6.2.4 修剪字符串
6.2.5 比較字符串
6.2.6 連接和替換
6.3 類型轉(zhuǎn)換
6.3.1 字符串轉(zhuǎn)其他類型
6.3.2 其他類型轉(zhuǎn)字符串
6.4 正則表達式
6.4.1 基本規(guī)則
6.4.2 使用regexp包
6.5 本章小結(jié)
6.6 習(xí)題
第7章 面向?qū)ο缶幊?br>7.1 結(jié)構(gòu)體
7.1.1 結(jié)構(gòu)體定義
7.1.2 實例化
7.1.3 函數(shù)間傳遞結(jié)構(gòu)體
7.1.4 匿名結(jié)構(gòu)體
7.1.5 匿名成員
7.1.6 結(jié)構(gòu)體嵌入
7.2 方法
7.2.1 為類型添加方法
7.2.2 方法與函數(shù)的區(qū)別
7.2.3 值語義和引用語義
7.2.4 方法繼承和重寫
7.3 接口
7.3.1 Duck Typing
7.3.2 接口的使用
7.3.3 接口賦值
7.3.4 接口查詢
7.3.5 多態(tài)
7.3.6 空接口
7.3.7 類型斷言
7.4 設(shè)計模式
7.4.1 開閉原則
7.4.2 依賴倒置原則
7.4.3 單例模式
7.4.4 工廠方法模式
7.4.5 抽象工廠模式
7.4.6 外觀模式
7.4.7 觀察者模式
7.5 反射
7.5.1 Go語言的反射
7.5.2 反射法則
7.5.3 反射變量的類型和值
7.5.4 創(chuàng)建新實例
7.5.5 創(chuàng)建引用類型的實例
7.5.6 創(chuàng)建函數(shù)
7.6 本章小結(jié)
7.7 習(xí)題
第8章 編寫規(guī)范和錯誤處理
8.1 編寫規(guī)范
8.1.1 代碼風(fēng)格
8.1.2 注釋
8.1.3 命名
8.2 錯誤處理
8.2.1 error接口
8.2.2 處理error的方式
8.2.3 自定義錯誤
8.2.4 引入包
8.3 defer
8.3.1 執(zhí)行順序
8.3.2
查看全部↓
前言/序言
Go是一種開放源代碼的程序設(shè)計語言,具有天生支持高并發(fā)、語法簡潔等特點。Go是由谷歌公司設(shè)計并支持的,可以使程序員能夠方便地構(gòu)建簡單、可靠、高效、穩(wěn)定的服務(wù)。
近年來,Go語言在云計算、微服務(wù)、區(qū)塊鏈等領(lǐng)域得到了快速且廣泛的應(yīng)用。隨著容器編排、云技術(shù)等在 IT 行業(yè)的盛行,Go語言越來越受到廣大開發(fā)和運維工作人員的歡迎和追捧,成為炙手可熱的編程語言之一,與此同時也誕生了很多優(yōu)秀的項目,如 Docker、Kubernetes、Ethereum、Etcd、Kubeedge、Prometheus、FileBeat等。
在后互聯(lián)網(wǎng)時代,互聯(lián)網(wǎng)公司的服務(wù)器面臨著新的挑戰(zhàn),服務(wù)架構(gòu)迎來新的變革,許多公司正在將業(yè)務(wù)轉(zhuǎn)向Go。越來越多的公司都要求后臺開發(fā)人員掌握Go語言。尤其是在系統(tǒng)日志收集方面,Go語言有著出色的表現(xiàn)。
目前,很多頂尖IT公司都在招聘Go語言開發(fā)人員。很多大型互聯(lián)網(wǎng)企業(yè)在大量使用 Go語言構(gòu)建后端 Web 應(yīng)用,如字節(jié)跳動、騰訊、七牛云等。此外,在機器學(xué)習(xí)方面,Go 語言也有一定的優(yōu)勢??梢哉f,Go將是未來的主流服務(wù)端語言。掌握Go語言能夠讓IT從業(yè)者在職場中更具競爭力。
《Go程序開發(fā)實戰(zhàn)寶典》在編寫過程中難免有一些錯誤和不當(dāng)之處,歡迎讀者朋友給予反饋,以利于本書的進一步完善與提升。反饋意見請發(fā)送至miracledddata@sohu.com,我們將盡力解決問題。希望讀者通過本書的學(xué)習(xí),能夠?qū)o語言有一個全面的理解。