Menentukan Nilai Sifar Pembolehubah Tanpa mengira Jenis dalam Golang
Di Golang, tidak semua pembolehubah boleh dibandingkan, seperti kepingan. Ini memberikan cabaran dalam menentukan sama ada pembolehubah jenis arbitrari adalah sifar. Percubaan untuk menggunakan perbandingan langsung dengan reflect.Zero(reflect.TypeOf(v)).Interface() gagal untuk jenis yang tidak setanding.
Go's Solution: reflect.Value.IsZero()
Go versi 1.13 memperkenalkan kaedah IsZero dalam pakej reflect. Fungsi ini membolehkan anda menyemak nilai sifar walaupun untuk jenis yang tidak setanding.
Penggunaan:
Untuk menentukan sama ada pembolehubah v ialah sifar, tanpa mengira jenisnya, gunakan kod berikut:
if reflect.ValueOf(v).IsZero() { // v is zero, perform custom actions }
Disokong Jenis:
Kaedah IsZero menyokong semakan nilai sifar untuk jenis berikut:
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Pembolehubah Go adalah Sifar Tanpa mengira Jenisnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!