慕田峪7331174
2022-06-06 17:10:37
假設(shè)我有以下內(nèi)容:一個(gè)結(jié)構(gòu)type MyStructure struct { Field1 int CityNames []string}-a 類型,我用作響應(yīng)。我創(chuàng)建這種類型只是為了在閱讀時(shí)使響應(yīng)比一段字符串更具暗示性type CityNamesReponse []string然后我有一個(gè)函數(shù),我想從我的結(jié)構(gòu)中獲取名稱并將其放入響應(yīng)中func GetCities() *CityNamesReponse{ dbResult := MyStructure{ Field1: 1, CityNames: []string{"Amsterdam", "Barcelona"}, } return &CityNameResponse{ dbResult.CityNames}}我不想循環(huán)數(shù)據(jù),只想一口氣完成。也試過:return &CityNameResponse{ ...dbResult.CityNames}可以這樣做,但我是 Go 新手,有點(diǎn)困惑,想以正確的方式做。這感覺不太好: // This works c := dbResults.CityNames response := make(CityNameResponse, 0) response = c return &response謝謝
1 回答

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
不要使用指向切片的指針。指針可能會(huì)損害性能并使代碼復(fù)雜化。
請使用從to的轉(zhuǎn)換。[]stringCityNamesReponse
func GetCities() CityNamesReponse{
dbResult := MyStructure{
Field1: 1,
CityNames: []string{"Amsterdam", "Barcelona"},
}
return CityNameResponse(dbResult.CityNames)
}
如果您覺得必須使用指向切片的指針,請使用從to的轉(zhuǎn)換。*[]string*CityNameReponse
func GetCities() *CityNamesReponse{
dbResult := MyStructure{
Field1: 1,
CityNames: []string{"Amsterdam", "Barcelona"},
}
return (*CityNameResponse)(&dbResult.CityNames)
}
- 1 回答
- 0 關(guān)注
- 179 瀏覽
添加回答
舉報(bào)
0/150
提交
取消