問題:
在Go 中,是否可以衍生型別使用名稱來表示資料類型反射?
答案:
這個問題的答案取決於提出問題的上下文。
運行時:
如果類型名稱在運行時可作為字符串使用,則它是不可能使用反射來獲取其類型表示。這是因為未直接引用的類型可能不會包含在最終的可執行二進位檔案中。
在「編碼」時間:
但是,如果類型名稱是在編碼或代碼產生階段已知,可能取得其類型表示而不建立該變數type.
這可以透過取得類型的Type 指針,建立類型化的nil 指標值,然後使用Type.Elem() 導航到指標的基底類型來實現。產生的類型描述符將與透過建立並反映該類型的變數所獲得的類型描述符相同。
範例:
t := reflect.TypeOf((*YourType)(nil)).Elem()
以上是Go 反射可以從字串名稱衍生出型別嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!