如何使用运行时类型反射来转换类型?

我正在尝试使用泛型构建一个函数,它将接口片段转换为 T 类型片段。

我想出了以下:

func convertInterfaceArray[T any](input []any, res []T) { 
   for _, item := range input {
        res = append(res, item.(reflect.TypeOf(res[0])))
    }
}

但是,这不会编译。但是你明白了。T 可以是任何类型,我有一个 []any 类型的输入切片需要转换为 []T


慕码人8056858
浏览 128回答 1
1回答

慕码人2483693

将值断言为 type T。不需要反思。for _, item := range input {     res = append(res, item.(T)) }https://go.dev/play/p/cFn_nsVFIik
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go