首頁 > 後端開發 > Golang > 主體

如何使用運行時類型反射來轉換類型?

王林
發布: 2024-02-06 10:51:12
轉載
648 人瀏覽過

如何使用運行時類型反射來轉換類型?

問題內容

我正在嘗試使用泛型建立一個函數,它將介面切片轉換為 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.php.cn/link/f2a13eeae490ef805070086405e26087

以上是如何使用運行時類型反射來轉換類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!