Apabila bekerja dengan jenis tersuai dalam Go, ia boleh berguna untuk mendapatkan perwakilan rentetan mereka untuk operasi dinamik atau untuk memudahkan pemfaktoran semula kod. Semasa menggunakan fmt.Sprintf("%T", ID{}) ialah pendekatan yang mudah, ia melibatkan penentuan jenis, yang mungkin tidak diingini.
Sebaliknya, pertimbangkan untuk menggunakan mencerminkan pakej untuk mencapai ini. Dengan menggunakan fungsi reflect.TypeOf dan bekerja dengan penuding kepada jenis, anda boleh mendapatkan jenis asas jenis atau jenis elemen menggunakan Type.Elem(). Contohnya:
t := reflect.TypeOf((*ID)(nil)).Elem() name := t.Name() fmt.Println(name)
Pendekatan ini mengelakkan keperluan untuk instantiasi dan juga boleh digunakan pada antara muka. Dengan bermula dengan penuding kepada jenis, anda boleh menavigasi ke jenis konkrit asasnya.
Menjalankan kod contoh yang disediakan akan mengeluarkan perwakilan rentetan jenis ID:
ID
Adalah penting untuk ambil perhatian bahawa Type.Name() boleh mengembalikan rentetan kosong jika jenis tidak dinamakan. Ini biasanya berlaku dalam kes di mana jenis ditakrifkan tanpa nama, seperti apabila menggunakan struct tanpa nama atau hasil fungsi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Perwakilan Rentetan Jenis Go Tanpa Instalasi Secara Pemrograman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!