Cara Memulakan Penunjuk Bool dalam Huruf Struktur
Dalam Go, struct boleh mempunyai medan yang menjadi penunjuk kepada nilai bool. Apabila mencipta literal struct, anda boleh menentukan nilai medan penunjuk bool dengan menggunakan operator arahan (*). Walau bagaimanapun, terdapat pelbagai cara untuk mendekati perkara ini.
Pilihan 1: Menggunakan Slice
Satu pilihan ialah mencipta kepingan dengan nilai bool tunggal true dan kemudian ambil alamat elemen pertamanya:
h := handler{is: &[]bool{true}[0]}
Kaedah ini mengelakkan mentakrifkan pembolehubah baharu tetapi memperkenalkan boilerplate tambahan dan overhead.
Pilihan 2: Menggunakan Fungsi Pembantu
Penyelesaian yang lebih bersih adalah untuk mentakrifkan fungsi pembantu untuk mencipta nilai *bool dengan nilai yang dikehendaki:
func newTrue() *bool { b := true return &b } h := handler{is: newTrue()}
Pilihan 3: Menggunakan Tanpa Nama Fungsi
Anda juga boleh menggunakan fungsi tanpa nama untuk mencipta *nilai bool dengan nilai yang dikehendaki dalam satu baris:
h := handler{is: func() *bool { b := true; return &b }()}
Pilihan 4: Menggunakan Fungsi dengan Parameter
Sebagai alternatif, anda boleh menggunakan fungsi yang mengambil parameter boolean dan mengembalikan *bool value:
h := handler{is: func(b bool) *bool { return &b }(true)}
Pilihan terbaik bergantung pada keperluan khusus aplikasi anda. Pertimbangkan faktor seperti kesederhanaan kod, kecekapan dan kebolehbacaan.
Atas ialah kandungan terperinci Cara Terbaik Memulakan Penunjuk Bool dalam Literal Go Struct?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!