Golang(Go語言)中append函數(shù)返回值必須有變量接收的原因探究

append函數(shù)返回更新后的slice(長度和容量可能會變),必須重新用slice的變量接收夫啊,不然無法編譯通過

為了弄明白為什么蛋哭,首先我們需要清楚幾件事:

  • slice的底層是數(shù)組,一片連續(xù)的內(nèi)存涮母,slice變量只是存儲該slice在底層數(shù)組的起始位置谆趾、結束位置以及容量。
  • 它的長度可以通過起始位置和結束位置算出來叛本,容量也可以通過起點位置到底層數(shù)組的末端位置的長度算出來沪蓬,多個slice可以指向同一個底層數(shù)組。所以slice和數(shù)組指針不同来候,數(shù)組指針主要存儲底層數(shù)組的首地址跷叉。
  • 因為Go函數(shù)傳遞默認是值拷貝,將slice變量傳入append函數(shù)相當于傳了原slice變量的一個副本营搅,注意不是拷貝底層數(shù)組云挟,因為slice變量并不是數(shù)組,它僅僅是存儲了底層數(shù)組的一些信息转质。

所以說园欣,當它改變傳入的slice變量的信息,原slice變量并不會有任何變化休蟹,打印原slice變量和之前也會一模一樣沸枯。該函數(shù)會返回修改后的slice變量,因為原slice并不會變赂弓,假如沒有任何slice變量接收返回的值绑榴,那么此次append操作就沒有意義了。所以必須要有slice變量重新接收修改后的slice變量盈魁,不然編譯器會報錯翔怎。Go不希望你做無意義的事,就像導入的包或定義的變量沒有用上,它也會報錯赤套。


個人是這樣理解的飘痛,如有不對之處還請指正。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末于毙,一起剝皮案震驚了整個濱河市敦冬,隨后出現(xiàn)的幾起案子辅搬,更是在濱河造成了極大的恐慌唯沮,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堪遂,死亡現(xiàn)場離奇詭異介蛉,居然都是意外死亡,警方通過查閱死者的電腦和手機溶褪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門币旧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猿妈,你說我怎么就攤上這事吹菱。” “怎么了彭则?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵鳍刷,是天一觀的道長。 經(jīng)常有香客問我俯抖,道長输瓜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任芬萍,我火速辦了婚禮尤揣,結果婚禮上,老公的妹妹穿的比我還像新娘柬祠。我一直安慰自己北戏,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布漫蛔。 她就那樣靜靜地躺著最欠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惩猫。 梳的紋絲不亂的頭發(fā)上芝硬,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音轧房,去河邊找鬼拌阴。 笑死,一個胖子當著我的面吹牛奶镶,可吹牛的內(nèi)容都是我干的迟赃。 我是一名探鬼主播陪拘,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼纤壁!你這毒婦竟也來了左刽?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤酌媒,失蹤者是張志新(化名)和其女友劉穎欠痴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秒咨,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡喇辽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了雨席。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菩咨。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖陡厘,靈堂內(nèi)的尸體忽然破棺而出抽米,到底是詐尸還是另有隱情,我是刑警寧澤糙置,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布云茸,位于F島的核電站,受9級特大地震影響罢低,放射性物質(zhì)發(fā)生泄漏查辩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一网持、第九天 我趴在偏房一處隱蔽的房頂上張望宜岛。 院中可真熱鬧,春花似錦功舀、人聲如沸萍倡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽列敲。三九已至,卻和暖如春帖汞,著一層夾襖步出監(jiān)牢的瞬間戴而,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工翩蘸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留所意,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像扶踊,于是被迫代替她去往敵國和親泄鹏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

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

  • 出處---Go編程語言 歡迎來到 Go 編程語言指南秧耗。本指南涵蓋了該語言的大部分重要特性 Go 語言的交互式簡介备籽,...
    Tuberose閱讀 18,426評論 1 46
  • Go語言的數(shù)據(jù)類型和其他語言諸如Java韩脏,Python有相似之處缩麸,也有自己獨特的地方。這篇文章主要討論了幾種數(shù)據(jù)結...
    Solonk8閱讀 8,168評論 0 19
  • 基礎 一開始赡矢,將學習關于語言的所有基礎內(nèi)容杭朱。學習如何基于已有類型定義新的類型:蓋了結構體、數(shù)組吹散、slice 和 m...
    張洋銘Ocean閱讀 1,312評論 0 1
  • 人生道路大同小異弧械,都充滿可能性。 充滿選擇空民。 1.選擇 人生本質(zhì)上是做著一道道選擇題刃唐。無論對錯,都要繼續(xù)下去界轩,沒有...
    風雅狂月閱讀 115評論 0 0
  • 隨著社會的發(fā)展画饥,交通的便利,人們生活水平的提高浊猾,我們接觸的人越來越多抖甘,所以今年來小三事件鬧的老幼皆知。這構...
    19畫生閱讀 509評論 8 6