![]() ![]() |
Go語(yǔ)言編程經(jīng)典實(shí)例 ![]() 本書(shū)涵蓋以下內(nèi)容:如何建立模塊。如何調(diào)用另一個(gè)模塊中的代碼。如何返回出錯(cuò)情況,如何處理錯(cuò)誤。如何將字符串轉(zhuǎn)換成數(shù)字(或是將數(shù)字轉(zhuǎn)換成字符串)。如何修改字符串中的多個(gè)字符。如何用字符串中的部分內(nèi)容建立子串。如何捕獲用戶(hù)輸入的字符串。其他的許多話(huà)題。 編輯推薦 前言Go 語(yǔ)言已經(jīng)有十多年歷史了。它是在2009 年公布的,1.0 版本發(fā)布于2012 年3 月。從2013 年開(kāi)始,這門(mén)語(yǔ)言的流行度就在穩(wěn)步上升,它經(jīng)常出現(xiàn)在最流行的十編程語(yǔ)言榜單里面。過(guò)去十年出現(xiàn)了量有關(guān)Go 語(yǔ)言的書(shū),其中也包括筆者在2015 年寫(xiě)的《Go Web Programming》。這門(mén)語(yǔ)言里面能夠?qū)懙膬?nèi)容,基本上全都有人寫(xiě)過(guò)了,然而它畢竟在不斷地演化,同時(shí)還有新一代的程序員正在加入Go 語(yǔ)言開(kāi)發(fā)者的行列。這本書(shū)源自一次博客訪(fǎng)談。2021 年9 月正值疫情期間,Natalie Pistunovich 主持了一個(gè)叫作Go Time的訪(fǎng)談播客,其中有一期名為Books that Teach Go,在那一期里面,筆者的朋友Bill Kennedy 跟我一起,談了與Go 語(yǔ)言有關(guān)的一些書(shū)。我提到了自己寫(xiě)的《Go Web Programming》以及當(dāng)時(shí)剛建立的Go Recipes 博客(https://go-recipes.dev),這個(gè)博客向讀者講解如何用Go 語(yǔ)言實(shí)現(xiàn)各種基本的功能。我打算穩(wěn)定地輸出一些技術(shù)知識(shí),讓想要成為Go 語(yǔ)言開(kāi)發(fā)者的人,以及有經(jīng)驗(yàn)的Go 語(yǔ)言程序員,都能夠從中受益。做完那期播客之后,Natalie 告訴我,OReilly 正找人寫(xiě)一本Go 語(yǔ)言的經(jīng)典實(shí)例。而筆者自己,當(dāng)時(shí)也恰好在編寫(xiě)Go 語(yǔ)言的技巧,所以我覺(jué)得,實(shí)在不應(yīng)該錯(cuò)過(guò)這次命運(yùn)的安排。Natalie 讓我聯(lián)系OReilly,結(jié)果自然不用說(shuō),就是現(xiàn)在家看到的這本書(shū)了(當(dāng)然我在這里還是要說(shuō)說(shuō)其中的一些經(jīng)過(guò))。這本經(jīng)典實(shí)例與其他一些同類(lèi)書(shū)籍相似,都不是專(zhuān)門(mén)針對(duì)新的語(yǔ)言性或某個(gè)定話(huà)題來(lái)講解的,而是要解釋一些常見(jiàn)功能的實(shí)現(xiàn)原理。筆者會(huì)把Go 語(yǔ)言開(kāi)發(fā)者最有可能遇到的問(wèn)題,盡可能多地覆蓋到。筆者注重的是涵蓋常見(jiàn)問(wèn)題,而不是涵蓋所有問(wèn)題。每一條技巧基本上都自成一體,筆者有時(shí)可能會(huì)在其中提到其他的技巧,但并不是說(shuō)你必須先參考那些技巧,然后才能看懂當(dāng)前這條。其中有些技巧可能顯得乏味枯燥,但是沒(méi)關(guān)系,書(shū)里還有許多功能類(lèi)似的技巧供你選擇。排版約定本書(shū)采用以下排版約定。斜體(Italic)表示新術(shù)語(yǔ)、URL、電子郵件地址、文件名和文件擴(kuò)展名。等寬字體(Constant width)表示程序清單,在段落內(nèi)表示程序元素,例如變量、函數(shù)名稱(chēng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)類(lèi)型、環(huán)境變量、語(yǔ)句和關(guān)鍵字。粗體等寬字體(Constant width bold)表示應(yīng)由用戶(hù)原封不動(dòng)輸入的命令或其他文本。斜體等寬字體(Constant width italic)表示應(yīng)該替換成用戶(hù)提供值的文本,或者由上下文決定的值。使用范例代碼本書(shū)的補(bǔ)充材料( 例如范例代碼、習(xí)題等), 可以從https://github.com/sausheong/gocookbook 下載。如果有技術(shù)問(wèn)題或是在使用范例代碼時(shí)遇到困難,請(qǐng)發(fā)電子郵件至errata@oreilly.com.cn。本書(shū)是要幫你完成工作的。一般來(lái)說(shuō),如果本書(shū)提供了示例代碼,你可以把它用在你的程序或文檔中。除非你使用了很一部分代碼,否則無(wú)需聯(lián)系我們獲得許可。比如,用本書(shū)的幾個(gè)代碼片段寫(xiě)一個(gè)程序就無(wú)需獲得許可,銷(xiāo)售或分發(fā)OReilly 圖書(shū)的示例集則需要獲得許可;引用本書(shū)中的示例代碼回答問(wèn)題無(wú)需獲得許可,將書(shū)中量的代碼放到你的產(chǎn)品文檔中則需要獲得許可。我們很希望但并不強(qiáng)制要求你在引用本書(shū)內(nèi)容時(shí)加上引用說(shuō)明。引用說(shuō)明一般包括書(shū)名、作者、出版社和ISBN,例如:Go Cookbook by Sau Sheong Chang (OReilly). Copyright 2023 Sau Sheong Chang, 978-1-098-12211-9。如果你覺(jué)得你對(duì)代碼的用法已經(jīng)超出了合理使用的范圍,或者不知道它是否屬于剛才說(shuō)的那幾種需要征得同意的情況,歡迎你通過(guò)permissions@oreilly.com詢(xún)問(wèn)我們。OReilly 在線(xiàn)學(xué)習(xí)平臺(tái)(OReilly Online Learning)近40 年來(lái),OReilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見(jiàn)解,來(lái)幫助眾多公司取得成功。公司獨(dú)有的專(zhuān)家和改革創(chuàng)新者網(wǎng)絡(luò)通過(guò)OReilly 書(shū)籍、文章以及在線(xiàn)學(xué)習(xí)平臺(tái),分享他們的專(zhuān)業(yè)知識(shí)和實(shí)踐經(jīng)驗(yàn)。OReilly 在線(xiàn)學(xué)習(xí)平臺(tái)按照您的需要提供實(shí)時(shí)培訓(xùn)課程、深入學(xué)習(xí)渠道、交互式編程環(huán)境以及來(lái)自O(shè)Reilly 和其他200 多家出版商的量書(shū)籍與視頻資料。更多信息,請(qǐng)?jiān)L問(wèn)網(wǎng)站:https://www.oreilly.com/。聯(lián)系我們?nèi)魏斡嘘P(guān)本書(shū)的意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系出版社。美國(guó):OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國(guó):北京市西城區(qū)西直門(mén)南街2 號(hào)成銘廈C 座807 室(100035)奧萊利技術(shù)咨詢(xún)(北京)有限公司這本書(shū)在OReilly 網(wǎng)站上面有相應(yīng)的網(wǎng)頁(yè),其中包含勘誤表、范例代碼,以及其他一些附加信息。這個(gè)頁(yè)面的網(wǎng)址是:https://oreil.ly/go-cookbook。與我們的書(shū)籍和課程有關(guān)的新聞及信息,參見(jiàn)https://oreilly.com 網(wǎng)站。我們的LinkedIn:https://linkedin.com/company/oreilly-media。我們的Twitter:https://twitter.com/oreillymedia。我們的YouTube:https://youtube.com/oreillymedia。致謝筆者想要感謝妻子Angela Lim 與兒子Chang Kai Wen 容許并支持我再寫(xiě)一本書(shū),感謝你們耐心地看著我在夜間或周末寫(xiě)書(shū)。家里有人是寫(xiě)書(shū)的,這感覺(jué)可不太好受,但他們(至少我認(rèn)為他們)還是很好地接受了。筆者要感謝Natalie Pistunovich 介紹我認(rèn)識(shí)OReilly 并幫我審閱本書(shū)草稿中的各章。還要感謝Jon Bodner 與Jess Males 給我以鼓勵(lì)并向我提供意見(jiàn)與良好的建議,這對(duì)我有很的幫助。感謝SP Group、Temasek 與GovTech Singapore 的諸位前同事及現(xiàn)同事的支持與鼓勵(lì)。這里恕不一一列出你們的名字,但我想你們都應(yīng)該知道自己在這個(gè)名單里面,感謝你們始終支持我。作者離不開(kāi)讀者。我要感謝所有博客文章的讀者,以及對(duì)我博客網(wǎng)站(https://sausheong.com)上面涉及Go 語(yǔ)言與其他技術(shù)的文章表示關(guān)注的人。家長(zhǎng)久以來(lái)的支持給了我極動(dòng)力,你們肯花時(shí)間讀這些文章,我對(duì)此深表感激。謝謝家。最后,要感謝已故的父親Chang Yoon Sang,他于去年十一月逝世。父親總是毫無(wú)保留地強(qiáng)烈支持我做的每一件事?吹轿乙苍趯(xiě)書(shū),他尤其高興(父親是中醫(yī)師與營(yíng)養(yǎng)師,用中文撰寫(xiě)這兩方面的書(shū)籍)。我知道自己的這些書(shū)他讀起來(lái)稍顯困難,因?yàn)樗皇亲黾夹g(shù)的,但父親還是以我為傲,我寫(xiě)的每一本書(shū),包括譯作,他都問(wèn)我要去,他想把我的書(shū)擺滿(mǎn)整個(gè)書(shū)架。我最的遺憾,就是他沒(méi)有機(jī)會(huì)把現(xiàn)在的這本書(shū)也加進(jìn)去。謹(jǐn)將本書(shū)獻(xiàn)給我的父親。 Sau Sheong Chang是一位擁有28年經(jīng)驗(yàn)的軟件開(kāi)發(fā)者,在各個(gè)領(lǐng)域使用多項(xiàng)技術(shù)制作軟件產(chǎn)品。他是各種Java、Ruby與Go語(yǔ)言軟件開(kāi)發(fā)社群的活躍成員。他還組織過(guò)meetup,并在各種會(huì)議上面做過(guò)演講。 目錄
你還可能感興趣
我要評(píng)論
|