A Note of Effective Go (Second Half)

Initialization

  • Constants
    用iota創(chuàng)建枚舉常量
  • Variables
  • The init function

Methods

  • Pointers vs. Values
    The rule about pointers vs. values for receivers is that value methods can be invoked on pointers and values, but pointer methods can only be invoked on pointers. This is because pointer methods can modify the receiver; invoking them on a copy of the value would cause those modifications to be discarded.

Interfaces and other types

  • Interfaces
  • Conversions
    方便排序的能夠做強(qiáng)制轉(zhuǎn)換的sort.IntSlice()
  • Interface conversions and type assertions
    類型斷言用來實(shí)現(xiàn)類似動(dòng)態(tài)類型轉(zhuǎn)換的功能
  • Generality
    返回接口而不是具體實(shí)現(xiàn),可以清晰地表明行為比實(shí)現(xiàn)重要的設(shè)計(jì)理念。
  • Interfaces and methods

The blank identifier

  • The blank identifier in multiple assignment
  • Unused imports and variables
  • Import for side effect
    適用于只引用包冠桃,利用它的副作用而不使用其中名字的情況
  • Interface checks
var _ json.Marshaler = (*RawMessage)(nil) // Check if RawMessage implements json.Marshaler in compile time

Embedding

通過嵌入得到實(shí)現(xiàn)復(fù)用板乙。

Concurrency

  • Share by communicating

Do not communicate by sharing memory; instead, share memory by communicating.

  • Goroutines
    相同地址空間,輕量級(jí),在多個(gè)系統(tǒng)線程中復(fù)用。
  • Channels
  • Channels of channels
  • Parallelization
  • A leaky buffer

Errors

  • Panic
  • Recover

A call to recover stops the unwinding and returns the argument passed to panic. Because the only code that runs while unwinding is inside deferred functions, recover is only useful inside deferred functions.

recoverdeferred函數(shù)中與普通函數(shù)中的表現(xiàn)是不同的,在普通函數(shù)中總是返回nil弄匕,這就允許deferred函數(shù)可以正常調(diào)用其他庫函數(shù)。

A web server

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沽瞭,一起剝皮案震驚了整個(gè)濱河市迁匠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秕脓,老刑警劉巖柒瓣,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吠架,居然都是意外死亡芙贫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門傍药,熙熙樓的掌柜王于貴愁眉苦臉地迎上來磺平,“玉大人,你說我怎么就攤上這事拐辽〖鹋玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵俱诸,是天一觀的道長菠劝。 經(jīng)常有香客問我,道長睁搭,這世上最難降的妖魔是什么赶诊? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮园骆,結(jié)果婚禮上舔痪,老公的妹妹穿的比我還像新娘。我一直安慰自己锌唾,他們只是感情好锄码,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般滋捶。 火紅的嫁衣襯著肌膚如雪痛悯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天炬太,我揣著相機(jī)與錄音灸蟆,去河邊找鬼驯耻。 笑死亲族,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的可缚。 我是一名探鬼主播霎迫,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼帘靡!你這毒婦竟也來了知给?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤描姚,失蹤者是張志新(化名)和其女友劉穎涩赢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轩勘,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡筒扒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绊寻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片花墩。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖澄步,靈堂內(nèi)的尸體忽然破棺而出冰蘑,到底是詐尸還是另有隱情,我是刑警寧澤村缸,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布祠肥,位于F島的核電站,受9級(jí)特大地震影響梯皿,放射性物質(zhì)發(fā)生泄漏仇箱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一索烹、第九天 我趴在偏房一處隱蔽的房頂上張望工碾。 院中可真熱鬧,春花似錦百姓、人聲如沸渊额。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旬迹。三九已至火惊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奔垦,已是汗流浹背屹耐。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留椿猎,地道東北人惶岭。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像犯眠,于是被迫代替她去往敵國和親按灶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 標(biāo)簽(空格分隔): 編程 Go官方文檔 Using the tour 1.1 Hello, 世界 Welcome...
    uangianlap閱讀 1,506評(píng)論 0 5
  • 01.{ 換行: Opening Brace Can't Be Placed on a Separate Lin...
    碼農(nóng)不器閱讀 2,401評(píng)論 0 14
  • 尋歡 “砰”的一聲筐咧,身后的廟門緊緊的關(guān)上了鸯旁。小和尚一行怔怔的站在寺廟門口的臺(tái)階上,沉甸甸的包袱掛在手上量蕊,像吊死鬼...
    牙床子閱讀 537評(píng)論 7 5
  • 我永遠(yuǎn)相信物質(zhì)生活只是改變了生活的狀態(tài)铺罢,有多少人能因?yàn)楦挥谢蛘叱晒蛽碛腥康目鞓罚康玫搅硕嗌贅s耀必然付出過多少艱...
    雪落重陽閱讀 754評(píng)論 21 11