Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Dapatkan Nama Go Enum Tanpa Menggunakan Kaedah String()?
Mengambil semula Nama Enum dalam Kaedah Go Without String()
Dalam Go, tidak mungkin untuk mendapatkan semula nama enum secara langsung tanpa mentakrifkannya secara jelas sebagai nilai rentetan menggunakan kaedah String(). Walau bagaimanapun, terdapat pendekatan alternatif untuk mentakrifkan pemalar secara dinamik.
1. Alat Stringer
Pakej alatan standard menyediakan alat rentetan, yang secara automatik menjana kaedah String() untuk enum. Dengan melaksanakan perintah berikut:
stringer -type=EnumName
dalam direktori yang sama dengan takrifan enum, alat rentetan akan mencipta fail yang mengandungi takrifan kaedah String().
2. Enum Berasaskan Struktur
Enum berasaskan struktur melibatkan penentuan jenis enum asas dan membenamkannya dalam struct. Setiap medan struct sepadan dengan nilai enum dan secara eksplisit dilabelkan dengan namanya. Kelebihan pendekatan ini ialah anda boleh mengakses kedua-dua nilai enum dan namanya secara langsung.
3. Enum Berasaskan Rentetan
Dalam enum berasaskan rentetan, nilai enum diwakili sebagai rentetan. Anda boleh membuat peta yang mengaitkan setiap nilai rentetan dengan nilai pemalar yang sepadan. Ini membolehkan anda mendapatkan semula nama enum secara pemrograman berdasarkan nilainya.
Walaupun kaedah ini menyediakan pendekatan alternatif untuk mentakrifkan pemalar secara dinamik, semuanya memerlukan anda mentakrifkan semula atau menentukan nama enum secara eksplisit. Oleh itu, mereka mungkin tidak menawarkan kelebihan yang ketara berbanding kaedah String() konvensional dari segi kebolehgunaan semula kod atau kemudahan penyelenggaraan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Nama Go Enum Tanpa Menggunakan Kaedah String()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!