gpt4 book ai didi

go - 如何从 Go 中的字符串列表初始化类型、字符串 slice

转载 作者:行者123 更新时间:2023-12-01 19:56:40 25 4
gpt4 key购买 nike

假设我有以下内容:

  • 一个结构
type MyStructure struct {
Field1 int
CityNames []string
}

-一种类型,我用作响应。我创建这种类型只是为了让阅读时的响应比一段字符串更具启发性

type CityNamesReponse []string

然后我有一个函数,我想从我的结构中获取名称并将其放入响应中

func GetCities() *CityNamesReponse{
dbResult := MyStructure{
Field1: 1,
CityNames: []string{"Amsterdam", "Barcelona"},
}
return &CityNameResponse{ dbResult.CityNames}
}

我不想遍历数据,只想一次完成。也试过:

return &CityNameResponse{ ...dbResult.CityNames}

可以这样做,但我是 Go 的新手,有点困惑,想以正确的方式来做。这感觉不太好:

    // This works
c := dbResults.CityNames
response := make(CityNameResponse, 0)
response = c
return &response

谢谢

最佳答案

不要使用指向 slice 的指针。指针可能会影响性能并使代码复杂化。

请使用 conversion[]stringCityNamesReponse

func GetCities() CityNamesReponse{
dbResult := MyStructure{
Field1: 1,
CityNames: []string{"Amsterdam", "Barcelona"},
}
return CityNameResponse(dbResult.CityNames)
}

如果您觉得必须使用指向 slice 的指针,那么使用 conversion*[]string*CityNameReponse

func GetCities() *CityNamesReponse{
dbResult := MyStructure{
Field1: 1,
CityNames: []string{"Amsterdam", "Barcelona"},
}
return (*CityNameResponse)(&dbResult.CityNames)
}

关于go - 如何从 Go 中的字符串列表初始化类型、字符串 slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62156324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com