首頁 >後端開發 >Golang >你能從 Go 中的字串名稱取得 `reflect.Type` 嗎?

你能從 Go 中的字串名稱取得 `reflect.Type` 嗎?

Linda Hamilton
Linda Hamilton原創
2024-11-09 06:08:021064瀏覽

Can You Get a `reflect.Type` from a String Name in Go?

從Go中的型別名稱取得reflect.Type

考慮以下任務:

type t1 struct { i int; s string }

不實例化如何取得t1的reflect.Type?

  • 不實例化能取得reflect.Type嗎?

是的,就是可能:

var v1 reflect.Type = reflect.TypeOf((*t1)(nil)).Elem()

你可以使用reflect.TypeOf來取得指向t1類型的nil結構體的指標的reflect.Type,然後使用Elem來取得底層結構體的類型。

  • 能否從字串名稱中取得reflect.Type “t1”?

不幸的是,沒有。 Go 不會維護目前二進位檔案中的類型映射,因此從字串中檢索類型變得不切實際。雖然可以建立自訂類型註冊表包,但由於匿名類型和名稱衝突,它可能不完整且可能不明確。

以上是你能從 Go 中的字串名稱取得 `reflect.Type` 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn