《Go 語(yǔ)言程序設(shè)計(jì)》(Mark Summerfield)電子書(shū)網(wǎng)盤(pán)下載免費(fèi)在線閱讀
在工布江達(dá)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷(xiāo),成都外貿(mào)網(wǎng)站制作,工布江達(dá)網(wǎng)站建設(shè)費(fèi)用合理。
資源鏈接:
鏈接:
提取碼: kqzi ?
書(shū)名:Go 語(yǔ)言程序設(shè)計(jì)
作者:Mark Summerfield
譯者:許式偉
豆瓣評(píng)分:6.9
出版社:人民郵電出版社
出版年份:2013-8-1
頁(yè)數(shù):354
內(nèi)容簡(jiǎn)介:
國(guó)外最經(jīng)典的Go語(yǔ)言著作,Go語(yǔ)言編程的先驅(qū)者M(jìn)ark Summerfield的實(shí)踐經(jīng)驗(yàn)總結(jié)。
這是一本Go語(yǔ)言實(shí)戰(zhàn)指南,幫你了解Go語(yǔ)言,按Go語(yǔ)言的方式思考,以及使用Go語(yǔ)言來(lái)編寫(xiě)高性能軟件。
作者展示了如何編寫(xiě)充分利用Go語(yǔ)言突破性的特性和慣用法的代碼,以及Go語(yǔ)言在其他語(yǔ)言之上所做的改進(jìn),并著重強(qiáng)調(diào)了Go語(yǔ)言的關(guān)鍵創(chuàng)新。
注重實(shí)踐教學(xué),每章都提供了多個(gè)經(jīng)過(guò)精心設(shè)計(jì)的代碼示例。
由國(guó)內(nèi)第一個(gè)核心服務(wù)完全采用Go語(yǔ)言實(shí)現(xiàn)的團(tuán)隊(duì)——七牛團(tuán)隊(duì)核心成員翻譯。
作者簡(jiǎn)介:
Mark Summerfield Qtrac公司創(chuàng)始人,獨(dú)立的培訓(xùn)講師、顧問(wèn)、技術(shù)編輯,Go、Python、C++、Qt和PyQt方面的技術(shù)作家。他的著作包括Rapid GUI Programming with Python and Qt、C++ GUI Programming with Qt 4(與Jasmin Blanchette合著)、Programming in Python 3和Advanced Qt Programming等。
許式偉——七牛云存儲(chǔ)CEO,開(kāi)源愛(ài)好者,發(fā)布過(guò)十余個(gè)C++開(kāi)源項(xiàng)目,擁有超過(guò)15年的C/C++開(kāi)發(fā)經(jīng)驗(yàn)。
呂桂華——七牛云存儲(chǔ)聯(lián)合創(chuàng)始人,擁有十余年的C/C++大型項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),也曾在Java和.NET平臺(tái)上探索多年。
徐 立——七牛云存儲(chǔ)首席布道師,前盛大創(chuàng)新院高級(jí)研究員。
何李石——七牛云存儲(chǔ)布道師。
七牛云存儲(chǔ)技術(shù)團(tuán)隊(duì)是國(guó)內(nèi)第一個(gè)核心服務(wù)完全采用Go語(yǔ)言實(shí)現(xiàn)的團(tuán)隊(duì)。
基本設(shè)計(jì)思路:
類(lèi)型轉(zhuǎn)換、類(lèi)型斷言、動(dòng)態(tài)派發(fā)。iface,eface。
反射對(duì)象具有的方法:
編譯優(yōu)化:
內(nèi)部實(shí)現(xiàn):
實(shí)現(xiàn) Context 接口有以下幾個(gè)類(lèi)型(空實(shí)現(xiàn)就忽略了):
互斥鎖的控制邏輯:
設(shè)計(jì)思路:
(以上為寫(xiě)被讀阻塞,下面是讀被寫(xiě)阻塞)
總結(jié),讀寫(xiě)鎖的設(shè)計(jì)還是非常巧妙的:
設(shè)計(jì)思路:
WaitGroup 有三個(gè)暴露的函數(shù):
部件:
設(shè)計(jì)思路:
結(jié)構(gòu):
Once 只暴露了一個(gè)方法:
實(shí)現(xiàn):
三個(gè)關(guān)鍵點(diǎn):
細(xì)節(jié):
讓多協(xié)程任務(wù)的開(kāi)始執(zhí)行時(shí)間可控(按順序或歸一)。(Context 是控制結(jié)束時(shí)間)
設(shè)計(jì)思路: 通過(guò)一個(gè)鎖和內(nèi)置的 notifyList 隊(duì)列實(shí)現(xiàn),Wait() 會(huì)生成票據(jù),并將等待協(xié)程信息加入鏈表中,等待控制協(xié)程中發(fā)送信號(hào)通知一個(gè)(Signal())或所有(Boardcast())等待者(內(nèi)部實(shí)現(xiàn)是通過(guò)票據(jù)通知的)來(lái)控制協(xié)程解除阻塞。
暴露四個(gè)函數(shù):
實(shí)現(xiàn)細(xì)節(jié):
部件:
包: golang.org/x/sync/errgroup
作用:開(kāi)啟 func() error 函數(shù)簽名的協(xié)程,在同 Group 下協(xié)程并發(fā)執(zhí)行過(guò)程并收集首次 err 錯(cuò)誤。通過(guò) Context 的傳入,還可以控制在首次 err 出現(xiàn)時(shí)就終止組內(nèi)各協(xié)程。
設(shè)計(jì)思路:
結(jié)構(gòu):
暴露的方法:
實(shí)現(xiàn)細(xì)節(jié):
注意問(wèn)題:
包: "golang.org/x/sync/semaphore"
作用:排隊(duì)借資源(如錢(qián),有借有還)的一種場(chǎng)景。此包相當(dāng)于對(duì)底層信號(hào)量的一種暴露。
設(shè)計(jì)思路:有一定數(shù)量的資源 Weight,每一個(gè) waiter 攜帶一個(gè) channel 和要借的數(shù)量 n。通過(guò)隊(duì)列排隊(duì)執(zhí)行借貸。
結(jié)構(gòu):
暴露方法:
細(xì)節(jié):
部件:
細(xì)節(jié):
包: "golang.org/x/sync/singleflight"
作用:防擊穿。瞬時(shí)的相同請(qǐng)求只調(diào)用一次,response 被所有相同請(qǐng)求共享。
設(shè)計(jì)思路:按請(qǐng)求的 key 分組(一個(gè) *call 是一個(gè)組,用 map 映射存儲(chǔ)組),每個(gè)組只進(jìn)行一次訪問(wèn),組內(nèi)每個(gè)協(xié)程會(huì)獲得對(duì)應(yīng)結(jié)果的一個(gè)拷貝。
結(jié)構(gòu):
邏輯:
細(xì)節(jié):
部件:
如有錯(cuò)誤,請(qǐng)批評(píng)指正。
《Go程序設(shè)計(jì)語(yǔ)言中文版》百度網(wǎng)盤(pán)pdf最新全集下載:
鏈接:
?pwd=0cii 提取碼:0cii
簡(jiǎn)介:本書(shū)由《C程序設(shè)計(jì)語(yǔ)言》的作者Kernighan和谷歌公司Go團(tuán)隊(duì)主管Alan Donovan聯(lián)袂撰寫(xiě),是學(xué)習(xí)Go語(yǔ)言程序設(shè)計(jì)的指南。本書(shū)共13章,主要內(nèi)容包括:Go的基礎(chǔ)知識(shí)、基本結(jié)構(gòu)、
基本數(shù)據(jù)類(lèi)型、復(fù)合數(shù)據(jù)類(lèi)型、函數(shù)、方法、接口、goroutine、通道、共享變量的并發(fā)性、包、go工具、測(cè)試、反射等。
本書(shū)適合作為計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的教材,也可供Go語(yǔ)言愛(ài)好者閱讀?