Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menentukan sama ada Pembolehubah Go adalah Sifar Tanpa mengira Jenisnya?

Bagaimana untuk Menentukan sama ada Pembolehubah Go adalah Sifar Tanpa mengira Jenisnya?

Mary-Kate Olsen
Lepaskan: 2024-12-02 21:33:11
asal
541 orang telah melayarinya

How to Determine if a Go Variable is Zero Regardless of its Type?

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
}
Salin selepas log masuk

Disokong Jenis:

Kaedah IsZero menyokong semakan nilai sifar untuk jenis berikut:

  • Jenis asas
  • Chan, Func, Array, Antara Muka, Peta , Ptr, Slice, UnsafePointer dan Struct

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan