-
Go語(yǔ)言中淺拷貝和深拷貝的區(qū)別是什么?
要想搞明白深拷貝和淺拷貝的區(qū)別,我們需要先弄懂以下幾點(diǎn): 一、值類(lèi)型和引用類(lèi)型 Go 語(yǔ)言里面變量有兩類(lèi),一類(lèi)是值類(lèi)型,一類(lèi)是引用類(lèi)型。 兩者區(qū)別是什么呢? 我們?cè)陔娔X里面創(chuàng)建的變量,都是需要內(nèi)存來(lái)存放的。 值變量就是直接,一個(gè)內(nèi)存地址對(duì)應(yīng)一個(gè)值。 而引用變量,則是某個(gè)值存放的是另一個(gè)值的地址。 我畫(huà)了一個(gè)邏輯圖,幫助我們?nèi)ダ斫膺@個(gè)概念。 在 Go 語(yǔ)言中: string、int、bool、float 等這些都屬于值類(lèi)型 slice、map、chan 等這些都屬于引用類(lèi)型 二、什么是淺拷貝和深拷…