gpt4 book ai didi

Golang 接口(interface)和类型转换

转载 作者:IT王子 更新时间:2023-10-29 01:51:07 26 4
gpt4 key购买 nike

我有以下代码:

   func returnTheMap() map[string][]string{
myThing := getSomeValue()
}

getSomeValue() 返回类型为 map[string]interface{}

的内容

但它在内部总是 map[string][]string

myThing 设置为与 getSomeValue() 相同但类型为 map[string][]string ?

我可以像这样创建一个新对象:

newMap := make(map[string][]string)

// cardTypeList is of type map[string]interface {}, must convert to map[string][]string
for k, v := range myThing {
newMap[k] = v.([]string)
}

但是是否有任何方法可以就地执行此操作,或者是否有任何首选方法可以执行此操作?

最佳答案

根据 Go FAQ ,您不能直接更改 slice 的类型。

看来您的解决方案是首选方式。

关于Golang 接口(interface)和类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37739896/

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