Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mendapatkan Nama Go Enum Tanpa Menentukan Kaedah String() Secara Manual?

Bagaimanakah Saya Boleh Mendapatkan Nama Go Enum Tanpa Menentukan Kaedah String() Secara Manual?

DDD
Lepaskan: 2024-11-28 14:41:11
asal
230 orang telah melayarinya

How Can I Get Go Enum Names Without Manually Defining a String() Method?

Mendapatkan Nama Enum Tanpa String() Kaedah dalam Go

Dalam Go, enum biasanya diwakili menggunakan nilai malar. Untuk mendapatkan semula nama nilai enum, anda memerlukan kaedah String() yang ditakrifkan untuk jenis enum. Walau bagaimanapun, adalah wajar untuk mengelak daripada mencipta kaedah String() secara manual.

Kaedah Alternatif Menggunakan Alat Stringer

Alat stringer standard daripada pakej std boleh menjana kaedah String() secara automatik untuk anda jenis enum. Pertimbangkan definisi enum berikut:

const (
    MERCURY = 1
    VENUS = iota
    EARTH
    MARS
    JUPITER
    SATURN
    URANUS
    NEPTUNE
    PLUTO
)
Salin selepas log masuk

Menjalankan stringer -type=TheEnum dalam direktori yang mengandungi kod anda akan menjana fail theenum_string.go, mentakrifkan kaedah String() untuk jenis TheEnum.

Faedah Menggunakan Stringer

Menggunakan alat stringer menyediakan perkara berikut faedah:

  • Kaedah String() Automatik: Ia menjana kaedah String() untuk anda, mengurangkan usaha manual.
  • Ketekalan: Ia memastikan perwakilan rentetan yang konsisten untuk nilai enum.
  • Go Generate Keserasian: Alat rentetan berfungsi dengan baik dengan arahan go generate, membolehkan anda menyepadukan penjanaan enum ke dalam proses binaan anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nama Go Enum Tanpa Menentukan Kaedah String() Secara Manual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan