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

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

如何使用結(jié)構(gòu)的方法清除某些字段以外的結(jié)構(gòu)值

如何使用結(jié)構(gòu)的方法清除某些字段以外的結(jié)構(gòu)值

Go
胡子哥哥 2023-02-21 13:00:26
我有一個(gè)結(jié)構(gòu)。我想清除除一些公共字段以外的所有字段,例如Name, Gender,如何通過方法實(shí)現(xiàn)功能?在我的真實(shí)代碼中,我在結(jié)構(gòu)中有很多字段,所以手動(dòng)重置這些敏感字段不是我的選擇。type Agent struct {    Name    string    Gender  string    Secret1 string    Secret2 string}func (a *Agent) HideSecret() {    fmt.Println("Hidding secret...")    new := &Agent{        Name:   a.Name,        Gender: a.Gender,    }    a = new}我嘗試了一些*和的組合&,但似乎不起作用......請(qǐng)幫忙。    James := Agent{        Name:    "James Bond",        Gender:  "M",        Secret1: "1234",        Secret2: "abcd",    }    fmt.Printf("[Before] Secret: %s, %s\n", James.Secret1, James.Secret2)    James.HideSecret()    fmt.Printf("[After]  Secret: %s, %s\n", James.Secret1, James.Secret2) // not workinggolang 操場在這里:https ://go.dev/play/p/ukJf2Fa0fPI
查看完整描述

2 回答

?
白衣非少年

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

接收器是一個(gè)指針。您必須更新指針指向的對(duì)象:


func (a *Agent) HideSecret() {

    fmt.Println("Hidding secret...")

    cleaned := Agent{

        Name:   a.Name,

        Gender: a.Gender,

    }

    *a=cleaned

}


查看完整回答
反對(duì) 回復(fù) 2023-02-21
?
jeck貓

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

如果您只想清除字段,這是一個(gè)簡單的解決方案。它節(jié)省了一些內(nèi)存


func (a *Agent) HideSecret() {

   fmt.Println("Hidding secret...")

   a.Secret1 = ""

   a.Secret2 = ""

}


查看完整回答
反對(duì) 回復(fù) 2023-02-21
  • 2 回答
  • 0 關(guān)注
  • 93 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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