【Golang】那些容易忽略的錯(cuò)誤

1悼尾、 :=為什么沒(méi)有報(bào)錯(cuò)傻铣,為什么有報(bào)錯(cuò)了章贞?

f, err := Create()
if err != nil {
    ...
}

r, err := Update()
if err != nil {
    ...
}

err := Get()
if err != nil {
    ...
}

我們知道:=可以在函數(shù)內(nèi)對(duì)變量進(jìn)行初始化并賦值,而不用申明變量的類(lèi)型非洲,具體類(lèi)型有編譯器根據(jù)其值進(jìn)行推測(cè)鸭限,有點(diǎn)像動(dòng)態(tài)語(yǔ)言的寫(xiě)法,其實(shí)這和Golang的強(qiáng)靜態(tài)語(yǔ)言的特性并不沖突两踏,好吧败京,這并不是我們的重點(diǎn);
我們發(fā)現(xiàn)Create()和Update()方法在使用:=符號(hào)之后編譯并沒(méi)有出錯(cuò)梦染,而Get()方法的這一行編譯無(wú)法通過(guò)赡麦。聰明的你一定知道Create()和Update()方法返回的err變量已經(jīng)不是同一個(gè)變量朴皆,其內(nèi)存地址也不一樣。那為什么Get()方法就錯(cuò)誤了呢泛粹?行了遂铡,我就不賣(mài)關(guān)子了,在golang語(yǔ)言中晶姊,:=左側(cè)的變量必須至少有一個(gè)是沒(méi)有申明過(guò)的扒接,這樣就很好理解出錯(cuò)的原因了。
正確的姿勢(shì):

var err error
f, err := Create()
if err != nil {
    ...
}

r, err := Update()
if err != nil {
    ...
}

err = Get()
if err != nil {
    ...
}

2帽借、:=在函數(shù)內(nèi)申明的局部變量會(huì)屏蔽同名全局變量的可見(jiàn)性

var s string = "hello go"

func main() {
  s := "hello world"
  fmt.Println(s)
}

//output: hello world

有人會(huì)問(wèn):這個(gè)地方應(yīng)該會(huì)編譯失敗呀珠增,s變量我們已經(jīng)申明過(guò)了,不能使用:= 看來(lái)第一條原則需要加一句在同一作用域中才準(zhǔn)確了砍艾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒂教,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脆荷,更是在濱河造成了極大的恐慌凝垛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜓谋,死亡現(xiàn)場(chǎng)離奇詭異梦皮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)桃焕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)剑肯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人观堂,你說(shuō)我怎么就攤上這事让网。” “怎么了师痕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵溃睹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我胰坟,道長(zhǎng)因篇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任笔横,我火速辦了婚禮竞滓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吹缔。我一直安慰自己虽界,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布涛菠。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俗冻。 梳的紋絲不亂的頭發(fā)上礁叔,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音迄薄,去河邊找鬼琅关。 笑死,一個(gè)胖子當(dāng)著我的面吹牛讥蔽,可吹牛的內(nèi)容都是我干的涣易。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼冶伞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼新症!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起响禽,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤徒爹,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后芋类,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體隆嗅,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年侯繁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胖喳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贮竟,死狀恐怖丽焊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情坝锰,我是刑警寧澤粹懒,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站顷级,受9級(jí)特大地震影響凫乖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弓颈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一帽芽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧翔冀,春花似錦导街、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)款票。三九已至,卻和暖如春泽论,著一層夾襖步出監(jiān)牢的瞬間艾少,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工翼悴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缚够,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓鹦赎,卻偏偏與公主長(zhǎng)得像谍椅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子古话,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法雏吭,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法煞额,繼承相關(guān)的語(yǔ)法思恐,異常的語(yǔ)法,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,623評(píng)論 18 399
  • __block和__weak修飾符的區(qū)別其實(shí)是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用膊毁,...
    LZM輪回閱讀 3,309評(píng)論 0 6
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,139評(píng)論 30 470
  • 我從沒(méi)有想過(guò)像今天這樣渴望學(xué)習(xí)胀莹。。婚温。 學(xué)習(xí)嘛描焰,就是學(xué)生時(shí)代的事兒,現(xiàn)在這么大了栅螟,還學(xué)習(xí)什么荆秦?每個(gè)年齡階段有每個(gè)年齡...
    麥田的怪圈閱讀 340評(píng)論 2 3
  • 人的一生很簡(jiǎn)單,健健康康的度過(guò)每一天力图,但對(duì)于健康來(lái)說(shuō)步绸,很多人沒(méi)有太多的去意識(shí)這個(gè)問(wèn)題,覺(jué)得人嘛總會(huì)有生老病死的一天...
    哦嗯好閱讀 180評(píng)論 0 0