打開(kāi)Go語(yǔ)言之門(mén):入門(mén)、實(shí)戰(zhàn)與進(jìn)階
定 價(jià):89 元
- 作者:飛雪無(wú)情 著
- 出版時(shí)間:2022/11/1
- ISBN:9787111712459
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP312.8Go
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
通過(guò)不斷思考和整理,作者編寫(xiě)了這本更具系統(tǒng)性也更通俗易懂的Go語(yǔ)言入門(mén)和進(jìn)階書(shū)籍,以幫助學(xué)習(xí)者少走彎路,比其他人更快一步提升職業(yè)競(jìng)爭(zhēng)力。
本書(shū)共包含5個(gè)部分。
第1部分:快速入門(mén)Go語(yǔ)言。作者挑選了變量、常量、基礎(chǔ)數(shù)據(jù)類(lèi)型、函數(shù)和方法、結(jié)構(gòu)體和接口等知識(shí)點(diǎn)進(jìn)行介紹。這部分內(nèi)容相對(duì)簡(jiǎn)潔,但已經(jīng)足夠讓你掌握Go的基本程序結(jié)構(gòu)了。
第2部分:Go語(yǔ)言的高效并發(fā)。這部分主要介紹goroutine、channel、同步原語(yǔ)等知識(shí),讓你對(duì)Go語(yǔ)言層面的并發(fā)支持有更深入的理解,并且可以編寫(xiě)自己的Go語(yǔ)言并發(fā)程序。這個(gè)部分*后一章專(zhuān)門(mén)介紹常用的并發(fā)模式,可以拿來(lái)即用,以更好地控制并發(fā)。
第3部分:深入理解Go語(yǔ)言。這部分講解Go 語(yǔ)言底層原理和高級(jí)功能,比如slice的底層是怎樣的、為什么這么高效等。這部分內(nèi)容也是作者特意設(shè)計(jì)的,跟著作者一起研究底層原理,可避免初學(xué)者不求甚解的通病?傊挥欣斫饬说讓釉,你才能更靈活地編寫(xiě)程序并高效地應(yīng)對(duì)問(wèn)題。
第4部分:Go語(yǔ)言工程管理。學(xué)習(xí)一門(mén)語(yǔ)言,不僅要掌握它本身的知識(shí),還要掌握模塊管理、性能優(yōu)化等周邊技能,因?yàn)檫@些技能可以幫助你更好地進(jìn)行多人協(xié)作,提高開(kāi)發(fā)效率,寫(xiě)出更高質(zhì)量的代碼。你可以在這部分學(xué)到如何測(cè)試Go語(yǔ)言代碼以提高代碼質(zhì)量、如何做好性能優(yōu)化、如何使用第三方庫(kù)來(lái)提高自己項(xiàng)目的開(kāi)發(fā)效率等。
第5部分:Go語(yǔ)言泛型。這是Go語(yǔ)言在1.18版本中新增的特性,也是大家期待已久的特性。在這一部分作者會(huì)帶你學(xué)習(xí)Go語(yǔ)言泛型的使用,以及如何使用泛型來(lái)提高效率和簡(jiǎn)化代碼。
學(xué)習(xí)Go語(yǔ)言,抓住未來(lái)的機(jī)遇
你好,我是飛雪無(wú)情,在技術(shù)領(lǐng)域從業(yè)近10年,目前在一家互聯(lián)網(wǎng)公司擔(dān)任副總裁,負(fù)責(zé)產(chǎn)品的研發(fā)管理和架構(gòu)設(shè)計(jì)。
2014年,我因?yàn)镈ocker接觸了Go語(yǔ)言,其簡(jiǎn)潔的語(yǔ)法、高效的開(kāi)發(fā)效率和語(yǔ)言層面上的并發(fā)支持深深地吸引了我。經(jīng)過(guò)不斷學(xué)習(xí)和實(shí)踐,我對(duì)Go語(yǔ)言有了更深入的了解,不久后,便帶領(lǐng)團(tuán)隊(duì)轉(zhuǎn)型Go語(yǔ)言開(kāi)發(fā),提升了團(tuán)隊(duì)開(kāi)發(fā)效率和系統(tǒng)性能,降低了用人成本。
在帶領(lǐng)團(tuán)隊(duì)轉(zhuǎn)型Go語(yǔ)言的過(guò)程中,我不斷地把自己學(xué)習(xí)Go語(yǔ)言的經(jīng)驗(yàn)總結(jié)成文章,以方便大家利用碎片時(shí)間學(xué)習(xí),于是“飛雪無(wú)情”公眾號(hào)和知乎號(hào)就誕生了,F(xiàn)在,我已經(jīng)發(fā)布了300多篇相關(guān)文章,在幫助數(shù)萬(wàn)名讀者朋友有效學(xué)習(xí)Go語(yǔ)言的同時(shí),還有幸拿到了知乎Go語(yǔ)言專(zhuān)題的最高贊。
●為開(kāi)發(fā)者需求而設(shè)計(jì)的Go語(yǔ)言
K8s、Docker、etcd這類(lèi)耳熟能詳?shù)墓ぞ呔褪怯肎o語(yǔ)言開(kāi)發(fā)的,而且很多大公司(如騰訊、字節(jié)跳動(dòng)等)都在把原來(lái)的C/C++、Python、PHP技術(shù)棧遷往Go語(yǔ)言。
在我看來(lái),Go語(yǔ)言備受推崇,與其本身的優(yōu)勢(shì)有直接的關(guān)系:
√語(yǔ)法簡(jiǎn)潔,相比其他語(yǔ)言更容易上手,開(kāi)發(fā)效率更高。
√自帶垃圾回收(GC)功能,不用手動(dòng)申請(qǐng)釋放內(nèi)存,能夠有效避免Bug,提高性能。
√語(yǔ)言層面的并發(fā)支持讓你能夠很容易地開(kāi)發(fā)出高性能程序。
√提供強(qiáng)大的標(biāo)準(zhǔn)庫(kù),第三方庫(kù)也足夠豐富,可以拿來(lái)即用,提高開(kāi)發(fā)效率。
√可通過(guò)靜態(tài)編譯直接生成一個(gè)可執(zhí)行文件,運(yùn)行時(shí)不依賴(lài)其他庫(kù),部署方便,可伸縮能力強(qiáng)。
√提供跨平臺(tái)支持,很容易編譯出跨各個(gè)系統(tǒng)平臺(tái)直接運(yùn)行的程序。
對(duì)比其他語(yǔ)言,Go的優(yōu)勢(shì)顯著。比如Java雖然具備垃圾回收功能,但它是解釋型語(yǔ)言,需要安裝JVM才能運(yùn)行;C語(yǔ)言雖然不用解釋?zhuān)梢灾苯泳幾g運(yùn)行,但是它不具備垃圾回收功能,需要開(kāi)發(fā)者自己管理內(nèi)存的申請(qǐng)和釋放,容易出問(wèn)題。而Go語(yǔ)言具備兩者的優(yōu)勢(shì)。
如今微服務(wù)和云原生已經(jīng)成為一種趨勢(shì),Go作為一門(mén)高性能的編譯型語(yǔ)言,最適合承載微服務(wù)的落地實(shí)現(xiàn),且容易生成跨平臺(tái)的可執(zhí)行文件,相比其他編程語(yǔ)言更容易部署在Docker容器中,實(shí)現(xiàn)靈活的自動(dòng)伸縮服務(wù)。
總體來(lái)看,Go語(yǔ)言的整體設(shè)計(jì)理念就是以軟件工程為目的,方便開(kāi)發(fā)者更好地研發(fā)、管理軟件項(xiàng)目,一切都是為開(kāi)發(fā)者著想。
如果你是有1~3年經(jīng)驗(yàn)的其他語(yǔ)言(如Python、PHP、C/C++)開(kāi)發(fā)者,學(xué)習(xí)Go語(yǔ)言會(huì)比較容易,因?yàn)榫幊陶Z(yǔ)言的很多概念是相通的。而如果你是有基本計(jì)算機(jī)知識(shí)但無(wú)開(kāi)發(fā)經(jīng)驗(yàn)的小白,也適合盡早學(xué)習(xí)Go語(yǔ)言,吃透它有助于加深你對(duì)編程語(yǔ)言的理解,也讓你更有職業(yè)競(jìng)爭(zhēng)力。
在與Go語(yǔ)言學(xué)習(xí)者進(jìn)行交流和面試的過(guò)程中,我發(fā)現(xiàn)了一些典型問(wèn)題,可概括為如下三點(diǎn)。
第一,學(xué)習(xí)者所學(xué)知識(shí)過(guò)于零碎,缺乏系統(tǒng)性,并且不是太深入,導(dǎo)致寫(xiě)不出高效的程序,也難以在面試中勝出。比如,我在面試時(shí)會(huì)問(wèn)字符串拼接的效率問(wèn)題,這個(gè)問(wèn)題涉及加號(hào)(+)拼接、buffer拼接、builder拼接、并發(fā)安全等知識(shí)點(diǎn),但應(yīng)聘者通常只能答出最淺顯的內(nèi)容,缺乏對(duì)語(yǔ)言邏輯的深層思考。
第二,很多入門(mén)者已有其他語(yǔ)言基礎(chǔ),很難轉(zhuǎn)換語(yǔ)言思維模式,尤其是在Go語(yǔ)言設(shè)計(jì)者還做了很多相對(duì)其他語(yǔ)言的改進(jìn)和創(chuàng)新的情況下。作為從Java語(yǔ)言轉(zhuǎn)到Go語(yǔ)言的過(guò)來(lái)人,我非常理解這種情況,比如對(duì)于錯(cuò)誤的處理,Java語(yǔ)言使用Exception,Go語(yǔ)言則通過(guò)函數(shù)返回error,這會(huì)讓人很不習(xí)慣。
第三,沒(méi)有開(kāi)源的、適合練手的項(xiàng)目。
在過(guò)去分享Go語(yǔ)言知識(shí)的過(guò)程中,我融入了應(yīng)對(duì)上述問(wèn)題的方法并得到好評(píng),有讀者稱(chēng)“你的文章給我撥云見(jiàn)日的感覺(jué)!”“通過(guò)你的文章我終于懂context的用法了!”……這些正向評(píng)價(jià)更堅(jiān)定了我分享內(nèi)容的信心。
于是在不斷地思考、整理后,我希望編寫(xiě)一本更具系統(tǒng)性也更通俗易懂的Go語(yǔ)言入門(mén)和進(jìn)階書(shū)籍,以幫助學(xué)習(xí)者少走彎路,比其他人更快一步提升職業(yè)競(jìng)爭(zhēng)力。
●本書(shū)的亮點(diǎn)和設(shè)計(jì)思路
√系統(tǒng)性設(shè)計(jì):從基礎(chǔ)知識(shí)、底層原理到實(shí)戰(zhàn),讓你不僅可以學(xué)會(huì)使用這門(mén)語(yǔ)言,還能從該語(yǔ)言自身的邏輯、框架層面分析問(wèn)題,并上手項(xiàng)目。這樣當(dāng)出現(xiàn)問(wèn)題時(shí),你可以不再盲目地搜索知識(shí)點(diǎn)。
√案例實(shí)操:設(shè)計(jì)了很多便于運(yùn)用知識(shí)點(diǎn)的代碼示例,還特意站在學(xué)習(xí)者的視角,演示了一些容易出Bug的場(chǎng)景,幫你避雷;引入了很多生活化的場(chǎng)景,比如用“槍響后才能賽跑”的例子演示sync.Cond的使用,幫助你加深印象,緩解語(yǔ)言學(xué)習(xí)的枯燥感。
√貼近實(shí)際:本書(shū)內(nèi)容來(lái)源于眾多學(xué)習(xí)者的反饋。筆者在與他們的不斷交流中,總結(jié)了問(wèn)題的共性,并有針對(duì)性地將其融入本書(shū)。
那么,我是怎么劃分本書(shū)內(nèi)容的呢?
作為初學(xué)者,不管你是否有編程經(jīng)驗(yàn),都需要先學(xué)習(xí)Go語(yǔ)言的基本語(yǔ)法。因此,我首先介紹Go語(yǔ)言的基本語(yǔ)法,然后,在此基礎(chǔ)上介紹Go語(yǔ)言的核心特性—并發(fā),這也是Go語(yǔ)言最自豪的功能。其基于協(xié)程的并發(fā)比我們平時(shí)使用的線(xiàn)程并發(fā)更輕量,可以隨意地在一臺(tái)普通的計(jì)算機(jī)上啟動(dòng)成百上千個(gè)協(xié)程,成本卻非常低。
在你掌握了基本知識(shí)后,我會(huì)通過(guò)底層分析深入講解原理。我會(huì)結(jié)合源碼,并對(duì)比其他語(yǔ)言的同類(lèi)知識(shí),帶你理解Go語(yǔ)言的設(shè)計(jì)思路和底層語(yǔ)言邏輯。
此時(shí)你可能還有一些疑惑,比如不知道如何將知識(shí)與實(shí)際工作結(jié)合起來(lái),這就需要后面介紹的Go語(yǔ)言工程管理方面的知識(shí)了。最后,我會(huì)介紹Go語(yǔ)言最新的特性—泛型,以方便你進(jìn)一步理解Go語(yǔ)言、簡(jiǎn)化代碼和提升效率。
所以,我根據(jù)這個(gè)思路將本書(shū)劃分成5個(gè)部分:
√第一部分:快速入門(mén)Go語(yǔ)言。我挑選了變量、常量、基礎(chǔ)數(shù)據(jù)類(lèi)型、函數(shù)和方法、結(jié)構(gòu)體和接口等知識(shí)點(diǎn)進(jìn)行介紹。這部分內(nèi)容相對(duì)簡(jiǎn)潔,但已經(jīng)足夠讓你掌握Go語(yǔ)言的基本程序結(jié)構(gòu)了。
√第二部分:Go語(yǔ)言的高效并發(fā)。這部分主要介紹goroutine、channel、同步原語(yǔ)等知識(shí),讓你對(duì)Go語(yǔ)言層面的并發(fā)支持有更深入的理解,并且可以編寫(xiě)自己的Go語(yǔ)言并發(fā)程序。這部分有一章專(zhuān)門(mén)介紹常用的并發(fā)模式,可以拿來(lái)即用,以更好地控制并發(fā)。
√第三部分:深入理解Go語(yǔ)言。這部分講解Go語(yǔ)言底層原理和高級(jí)功能,比如slice的底層是怎樣的、為什么這么高效等。這部分內(nèi)容是我特意為初學(xué)者設(shè)計(jì)的,因?yàn)槲以诔鯇W(xué)編程時(shí)也是只學(xué)習(xí)如何使用,而不想研究底層原理,導(dǎo)致在工作中遇到障礙后又不得不回頭惡補(bǔ)這部分知識(shí)?傊挥欣斫饬说讓釉,你才能更靈活地編寫(xiě)程序并高效地應(yīng)對(duì)問(wèn)題。
√第四部分:Go語(yǔ)言工程管理。學(xué)習(xí)一門(mén)語(yǔ)言,不僅要掌握它本身的知識(shí),還要掌握模塊管理、性能優(yōu)化等周邊技能,因?yàn)檫@些技能可以幫助你更好地進(jìn)行多人協(xié)作,提高開(kāi)發(fā)效率,寫(xiě)出更高質(zhì)量的代碼。你可以在這部分學(xué)到如何測(cè)試Go語(yǔ)言代碼以提高代碼質(zhì)量、如何做好性能優(yōu)化、如何使用第三方庫(kù)來(lái)提高自己項(xiàng)目的開(kāi)發(fā)效率等。
√第五部分:Go語(yǔ)言泛型。這是Go語(yǔ)言在1.18版本中新增的特性,也是大家期待已久的特性。在這部分中,我會(huì)帶你學(xué)習(xí)Go語(yǔ)言泛型的使用,以及如何使用泛型來(lái)提高效率和簡(jiǎn)化代碼。
作者寄語(yǔ)
我一直不厭其煩地跟團(tuán)隊(duì)小伙伴說(shuō),Go語(yǔ)言是一門(mén)現(xiàn)代編程語(yǔ)言,相比其他編程語(yǔ)言,它有更好的用戶(hù)體驗(yàn),因?yàn)樗哪康木褪亲屛覀兏鼘?zhuān)注于自己業(yè)務(wù)的實(shí)現(xiàn),提高開(kāi)發(fā)效率。與此同時(shí),當(dāng)下的云原生是一種趨勢(shì),Go語(yǔ)言非常適合部署在這種環(huán)境中,越早學(xué)習(xí)越有競(jìng)爭(zhēng)力。
此外,我在上文中也反復(fù)強(qiáng)調(diào)了學(xué)習(xí)底層原理的重要性。編程語(yǔ)言有很多共通之處(比如概念、關(guān)鍵字、特性語(yǔ)法等),吃透后再學(xué)習(xí)其他編程語(yǔ)言會(huì)簡(jiǎn)單很多,原因就在于你理解了語(yǔ)言本身。所以在學(xué)習(xí)Go語(yǔ)言的過(guò)程中,我希望你多想多練,深入理解,融會(huì)貫通。
現(xiàn)在,跟我一起踏上Go語(yǔ)言學(xué)習(xí)之旅吧!
飛雪無(wú)情
Go語(yǔ)言早期的布道者、“Go語(yǔ)言實(shí)戰(zhàn)筆 記”作者,通過(guò)“飛雪無(wú)情”公眾號(hào)與數(shù)萬(wàn)名讀者交流Go語(yǔ)言技術(shù),擅長(zhǎng)用通俗的語(yǔ)言將底層機(jī)制講得淺顯易懂。 深耕技術(shù)領(lǐng)域近十年,前隨手記技術(shù)VP、 Go Meetup講師、TGO鯤鵬會(huì)成員,目前在一家互聯(lián)網(wǎng)公司擔(dān)任副總裁,負(fù)責(zé)產(chǎn)品的研發(fā)管理和架構(gòu)設(shè)計(jì)。
前言 學(xué)習(xí)Go語(yǔ)言,抓住未來(lái)的機(jī)遇
●第一部分 快速入門(mén)Go語(yǔ)言
第1章 基礎(chǔ)入門(mén):Hello, Go語(yǔ)言 2
1.1 Hello,World 2
1.2 程序結(jié)構(gòu)分析 3
1.3 搭建Go語(yǔ)言開(kāi)發(fā)環(huán)境 4
1.3.1 在Windows下安裝 4
1.3.2 在Linux下安裝 4
1.3.3 在macOS下安裝 4
1.3.4 安裝測(cè)試 4
1.3.5 環(huán)境變量設(shè)置 5
1.4 項(xiàng)目結(jié)構(gòu) 5
1.5 編譯發(fā)布 6
1.6 跨平臺(tái)編譯 6
1.7 Go編輯器推薦 7
1.8 小結(jié) 8
第2章 數(shù)據(jù)類(lèi)型:Go語(yǔ)言的基石 9
2.1 一個(gè)簡(jiǎn)單示例 9
2.2 基礎(chǔ)類(lèi)型 11
2.2.1 整型 11
2.2.2 浮點(diǎn)型 11
2.2.3 布爾型 12
2.2.4 字符串 12
2.2.5 零值 12
2.3 變量 13
2.3.1 變量簡(jiǎn)短聲明 13
2.3.2 指針 13
2.3.3 賦值 13
2.4 常量 14
2.4.1 常量的定義 14
2.4.2 iota 14
2.5 字符串的使用 15
2.5.1 字符串和數(shù)字互轉(zhuǎn) 15
2.5.2 strings包 16
2.6 小結(jié) 16
第3章
控制結(jié)構(gòu):if、for、switch那些事兒 17
3.1 if條件語(yǔ)句 17
3.2 switch選擇語(yǔ)句 19
3.3 for循環(huán)語(yǔ)句 20
3.4 小結(jié) 22
第4章
集合類(lèi)型:如何正確使用array、slice和map 23
4.1 數(shù)組 24
4.1.1 數(shù)組聲明 24
4.1.2 數(shù)組循環(huán) 25
4.2 切片 25
4.2.1 基于數(shù)組生成切片 26
4.2.2 切片的修改 26
4.2.3 切片的聲明 27
4.2.4 append函數(shù) 27
4.2.5 切片元素循環(huán) 28
4.3 映射 28
4.3.1 創(chuàng)建和初始化map 28
4.3.2 獲取和刪除map 29
4.3.3 遍歷map 29
4.3.4 獲取map的大小 30
4.4 string和[]byte 30
4.5 小結(jié) 31
第5章
函數(shù)和方法:如何區(qū)分函數(shù)和方法 32
5.1 函數(shù) 33
5.1.1 函數(shù)初探 33
5.1.2 函數(shù)聲明 33
5.1.3 多值返回 34
5.1.4 返回值命名 35
5.1.5 可變參數(shù) 36
5.1.6 包級(jí)函數(shù) 37
5.1.7 匿名函數(shù)和閉包 37
5.2 方法 39
5.2.1 不同于函數(shù)的方法 39
5.2.2 值和指針類(lèi)型接收者 39
5.3 小結(jié) 40
第6章
struct和interface:隱式的接口實(shí)現(xiàn) 42
6.1 結(jié)構(gòu)體 43
6.1.1 結(jié)構(gòu)體的定義 43
6.1.2 聲明和使用 44
6.1.3 結(jié)構(gòu)體的字段 44
6.2 接口 45
6.2.1 接口的定義 45
6.2.2 接口的實(shí)現(xiàn) 46
6.2.3 值和指針類(lèi)型接收者 47
6.3 工廠(chǎng)函數(shù) 48
6.4 繼承和組合 49
6.5 類(lèi)型斷言 50
6.6 小結(jié) 52
第7章
錯(cuò)誤處理:如何更優(yōu)雅地處理程序異常和錯(cuò)誤 53
7.1 錯(cuò)誤 54
7.1.1 error接口 54
7.1.2 error工廠(chǎng)函數(shù) 55
7.1.3 自定義error 55
7.1.4 error斷言 56
7.2 錯(cuò)誤嵌套 56
7.2.1 Error Wrapping功能 56
7.2.2 errors.Unwrap函數(shù) 57
7.2.3 errors.Is函數(shù) 57
7.2.4 errors.As函數(shù) 58
7.3 defer函數(shù) 58
7.4 panic函數(shù) 59
7.5 recover函數(shù) 60
7.6 小結(jié) 60
●第二部分 Go語(yǔ)言的高效并發(fā)
第8章
goroutine和channel:并發(fā)的基礎(chǔ) 62
8.1 什么是并發(fā) 63
8.2 進(jìn)程和線(xiàn)程 63
8.2.1 進(jìn)程 63
8.2.2 線(xiàn)程 64
8.3 協(xié)程 64
8.4 管道 65
8.4.1 聲明一個(gè)管道 65
8.4.2 無(wú)緩沖管道 66
8.4.3 有緩沖管道 66
8.4.4 關(guān)閉管道 67
8.4.5 單向管道 67
8.5 select+channel示例 68
8.6 小結(jié) 69
第9章
同步原語(yǔ):讓你對(duì)并發(fā)控制得心應(yīng)手 70
9.1 資源競(jìng)爭(zhēng) 70
9.2 同步原語(yǔ) 71
9.2.1 sync.Mutex 71
9.2.2 sync.RWMutex 72
9.2.3 sync.WaitGroup 73
9.2.4 sync.Once 75
9.2.5 sync.Cond 76
9.3 小結(jié) 77
第10章
Context:多協(xié)程并發(fā)控制神器 79
10.1 協(xié)程如何退出 79
10.2 Context的使用示例 81
10.3 Context詳解 82
10.4 Context樹(shù) 83
10.5 使用Context取消多個(gè)協(xié)程 84
10.6 Context傳值 85
10.7 Context使用原則 85
10.8 小結(jié) 86
第11章
并發(fā)模式:拿來(lái)即用的經(jīng)驗(yàn)總結(jié) 87
11.1 for select循環(huán)模式 87
11.2 select timeout模式 88
11.3 流水線(xiàn)模式 89
11.4 扇出和扇入模式 92
11.5 Future模式 94
11.6 小結(jié) 96
第12章
并發(fā)技巧:高效并發(fā)安全的字節(jié)池 97
12.1 字節(jié)切片 97
12.2 高效字節(jié)池 98
12.3 使用BytePoolCap 99
12.4
BytePoolCap與sync.Pool的
對(duì)比 99
12.5 小結(jié) 101
●第三部分 深入理解Go語(yǔ)言
第13章
指針詳解:什么情況下應(yīng)該使用指針 104
13.1 什么是指針 104
13.2 指針的聲明和定義 105
13.3 指針的操作 107
13.4 指針參數(shù) 107
13.5 指針接收者 108
13.6 什么情況下使用指針 108
13.7 小結(jié) 109
第14章
參數(shù)傳遞:值、引用以及指針的區(qū)別 110
14.1 修改參數(shù) 111
14.2 值類(lèi)型 112
14.3 指針類(lèi)型 113
14.4 引用類(lèi)型 114
14.4.1 map 114
14.4.2 chan 116
14.5 類(lèi)型的零值 116
14.6 小結(jié) 117
第15章
內(nèi)存分配:new和make該如何選擇 118
15.1 變量 118
15.1.1 變量的聲明 119
15.1.2 變量的賦值 119
15.2 new函數(shù) 120
15.3 變量初始化 121
15.3.1 指針變量初始化 122
15.