问题内容
我正在尝试使用泛型构建一个函数,它将接口切片转换为 t 类型的切片。
我想出了以下内容:
func convertInterfaceArray[T any](input []any, res []T) { for _, item := range input { res = append(res, item.(reflect.TypeOf(res[0]))) } }
但是,这不会编译。但你明白了。 t 可以是任何类型,我有一个 []any 类型的输入切片需要转换为 []t
正确答案
断言键入 t
的值。不需要反射。
for _, item := range input { res = append(res, item.(T)) }
https://www.codesou.cn/link/f2a13eeae490ef805070086405e26087
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 如何使用运行时类型反射来转换类型?
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 如何使用运行时类型反射来转换类型?