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

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

將結(jié)構(gòu)作為參數(shù)傳遞給函數(shù),并返回相應(yīng)結(jié)構(gòu)的切片

將結(jié)構(gòu)作為參數(shù)傳遞給函數(shù),并返回相應(yīng)結(jié)構(gòu)的切片

Go
三國紛爭 2023-06-01 18:07:12
我正在嘗試編寫一個(gè)可以被不同結(jié)構(gòu)使用的函數(shù)。函數(shù)的返回值必須是相應(yīng)結(jié)構(gòu)的一部分。因此我需要一個(gè)接受結(jié)構(gòu)作為參數(shù)并返回一個(gè)切片的函數(shù)。我的代碼看起來像這樣,但我不知道如何將它包裝為一個(gè)函數(shù)?type name struct{   FirstName string `xml:"firstName"`   LastName string `xml:"lastName"`  }fileList := TreeTraversal(".")    var a name    var b []name for i := 0; i < len(fileList); i++{    fileByte, _ := ioutil.ReadFile(fileList[i])    xml.Unmarshal(fileByte, &a)    b = append(b, a)}據(jù)我所知,我可以將結(jié)構(gòu)作為接口傳遞給函數(shù),但我不知道返回類型?
查看完整描述

1 回答

?
慕工程0101907

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

如果你想要一個(gè)接受任何結(jié)構(gòu)類型并返回它的一部分的函數(shù),比如:

func?MakeSlice(s?ANY_STRUCT_TYPE)?[]ANY_STRUCT_TYPE

您正在尋找 Go 目前不支持的泛型。

Go 團(tuán)隊(duì)正在努力為語言添加泛型——這是一項(xiàng)正在進(jìn)行的工作,每個(gè)人都可以自由參與討論。一旦泛型存在,它們將提供您在這里尋求的解決方案。


同時(shí),您可以使用代碼生成或?yàn)槟膯栴}想出稍微不同的設(shè)計(jì)。一些代碼重復(fù)也是可以的,Go 并不像其他一些語言那樣不喜歡它。


查看完整回答
反對(duì) 回復(fù) 2023-06-01
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(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)