假设只有数组作为参数传递给arr参数,我希望每次调用都unpackArray()返回从其原始数组类型转换为 type 的参数[]any。
package main
func unpackArray(arr any) []any {
return arr.([]any)
}
func main() {
myArr1 := []string {"Hey"}
myArr2 := []int {60}
unpackArray(myArr1)
unpackArray(myArr2)
}
但是,此代码会产生错误panic: interface conversion: interface {} is []string, not []interface {}。所以它不允许我将静态类型不是 type 的接口[]any转换为 type []any。
因此,假设我知道arr' 的静态类型是某种类型的数组,并且在不更改arr参数的初始化类型的情况下any,我如何使用此函数转换arr为类型?[]any
(我遇到了与地图相同的问题,我无法从任意地图类型转换为 type map[any]any,但我猜这个问题的解决方案类似于数组的解决方案。)
米脂
慕少森
相关分类