Pergi pengiraan, dicapai melalui iota, kekurangan fungsi String() yang jelas, mengehadkan pengambilan terus nama enum sebagai rentetan. Artikel ini meneroka alternatif untuk mengatasi had ini dan mendapatkan nama enum tanpa menaip semula label.
Satu penyelesaian yang mungkin adalah menggunakan alat rentetan daripada pakej alat standard. Alat ini mengautomasikan penjanaan fungsi String() untuk jenis enum anda.
Sebagai contoh, pertimbangkan definisi enum berikut:
const ( MERCURY = 1 VENUS = iota EARTH MARS JUPITER SATURN URANUS NEPTUNE PLUTO )
Untuk menjana fungsi String() untuk enum ini , laksanakan arahan berikut dalam terminal:
stringer -type=Planet
Arahan ini akan mencipta fail planet_string.go dalam direktori kerja semasa, mengandungi fungsi yang dihasilkan. Fungsi ini kini boleh digunakan untuk mendapatkan nama planet sebagai rentetan.
Selain itu, anda boleh mempertimbangkan untuk menggunakan pemalar berasaskan struktur atau rentetan. Walaupun pendekatan ini memerlukan label menaip semula sekali, pendekatan ini memberikan fleksibiliti yang lebih besar dalam senario tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Go Enum Tanpa Fungsi String()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!