Rumah >pembangunan bahagian belakang >Golang >Bagaimana Mengendalikan Nilai Lalai untuk Jenis Generik dalam Go?
Nilai Lalai untuk Jenis Generik
Memulangkan sifar untuk sebarang jenis tidak dibenarkan dalam Go. Walaupun untuk jenis generik, di mana T boleh mewakili sebarang jenis, nil bukanlah pilihan yang sah. Jenis seperti struct dan integer tidak mempunyai perwakilan nol.
Sebaliknya, nilai sifar untuk hujah jenis khusus yang digunakan untuk T boleh dikembalikan. Nilai sifar berbeza-beza bergantung pada jenis:
Untuk mengembalikan nilai sifar, isytiharkan pembolehubah jenis T dan kembalikan ia:
func getZero[T any]() T { var result T return result }
Sebagai contoh, menggunakan fungsi getZero:
i := getZero[int]() fmt.Printf("%T %v\n", i, i) // Output: int 0 s := getZero[string]() fmt.Printf("%T %q\n", s, s) // Output: string "" p := getZero[image.Point]() fmt.Printf("%T %v\n", p, p) // Output: image.Point (0,0) f := getZero[*float64]() fmt.Printf("%T %v\n", f, f) // Output: *float64 <nil>
Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai Lalai untuk Jenis Generik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!