Nilai Sifar dalam Go: Memahami masa.Ketiadaan Masa
Berurusan dengan ralat dalam Go kadangkala boleh membawa kepada percubaan untuk mengembalikan sifar sebagai tindak balas. Walau bagaimanapun, tidak seperti jenis primitif lain dalam Go, memberikan sifar kepada masa. Masa mengakibatkan ralat ketidakserasian jenis. Ini menimbulkan persoalan: apakah nilai wakil "sifar" untuk masa. Masa?
Nilai Sifar Masa vs. Sifar
Tanggapan nilai sifar dalam Go merujuk kepada nilai lalai yang diberikan kepada pembolehubah apabila ia dimulakan atau diisytiharkan tanpa sebarang nilai khusus. Untuk kebanyakan jenis primitif, nil sepadan dengan nilai sifar. Walau bagaimanapun, masa.Masa tidak mematuhi konvensyen ini. Sebaliknya, nilai sifarnya mewakili seketika masa tertentu: 1 Januari, tahun 1, 00:00:00 UTC.
Mengendalikan Perbandingan Nilai Sifar
Untuk menentukan sama ada masa.Nilai masa mewakili segera sifar, fungsi Time.IsZero() tersedia. Kaedah ini mengembalikan boolean yang menunjukkan sama ada masa berada pada nilai sifar.
func (Time) IsZero
atau
func (t Time) IsZero() bool
Contoh Penggunaan
Berikut ialah contoh yang menunjukkan penggunaan Time.IsZero() untuk menyemak sifar nilai:
package main import ( "fmt" "time" ) func main() { var t time.Time if t.IsZero() { fmt.Println("t is the zero value") } }
Kod ini mencetak "t ialah nilai sifar" kerana t dimulakan dengan nilai sifar.
Atas ialah kandungan terperinci Apakah Nilai Sifar untuk `masa.Masa` Go dan Bagaimana Saya Menyemaknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!