第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用空接口或空結(jié)構(gòu)作為映射值有什么區(qū)別?

使用空接口或空結(jié)構(gòu)作為映射值有什么區(qū)別?

Go
慕運(yùn)維8079593 2021-07-29 22:32:18
我正在使用這個(gè)構(gòu)造來(lái)模擬一個(gè)集合type MyType uint8map[MyType]interface{}然后我添加我所有的鍵并將它們映射到nil.我了解到也可以使用map[MyType]struct{}使用空結(jié)構(gòu)與interface{}.
查看完整描述

3 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊

內(nèi)存使用情況。例如,類(lèi)型struct{}, interface{}, 和bool,


package main


import (

    "fmt"

    "unsafe"

)


func main() {

    var s struct{}

    fmt.Println(unsafe.Sizeof(s))

    var i interface{}

    fmt.Println(unsafe.Sizeof(i))

    var b bool

    fmt.Println(unsafe.Sizeof(b))

}

輸出(32 位架構(gòu)的字節(jié)):


0

8

1

輸出(64 位架構(gòu)的字節(jié)):


0

16

1


查看完整回答
反對(duì) 回復(fù) 2021-08-02
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

空結(jié)構(gòu)體和空接口雖然在語(yǔ)法上相似,但實(shí)際上是對(duì)立的。空結(jié)構(gòu)不包含任何數(shù)據(jù);空接口可以保存任何類(lèi)型的值。如果我看到 a map[MyType]struct{},我立即知道不會(huì)存儲(chǔ)任何值,只會(huì)存儲(chǔ)鍵。如果我看到 a map[MyType]interface{},我的第一印象將是它是一個(gè)異質(zhì)的值集合。即使我看到代碼在其中存儲(chǔ)了 nil,我也不確定是否有其他代碼段沒(méi)有在其中存儲(chǔ)其他內(nèi)容。

換句話(huà)說(shuō), usingstruct{}使您的代碼更具可讀性。它還可以節(jié)省一點(diǎn)內(nèi)存,如另一個(gè)答案中所述,但這只是使用正確工具進(jìn)行工作的附帶好處。


查看完整回答
反對(duì) 回復(fù) 2021-08-02
  • 3 回答
  • 0 關(guān)注
  • 193 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)