将 []string 转换为 []interface{}
这个问题源于这样的误解:interface{} 可以表示任何类型,并且因此 []interface{} 可以表示任何 []类型。然而,interface{} 本身就是一种类型,不能被视为等同于 []interface{}。
解决方案:
将 [] 字符串转换为[]interface{},您需要将元素单独复制到目标切片。下面是一个示例:
func convertStringSliceToInterfaceSlice(strs []string) []interface{} { result := make([]interface{}, len(strs)) for i, str := range strs { result[i] = str } return result }
附加说明:
虽然您可以在 []byte 和 string 之间进行转换,但不建议这样做。 Interface{} 提供了一种更通用的方式来表示各种类型的数据。但是,请务必记住,interface{} 是一种单独的类型,应谨慎使用。
以上是在 Go 中如何将 `[]string` 转换为 `[]interface{}`?的详细内容。更多信息请关注PHP中文网其他相关文章!