Rumah > pembangunan bahagian belakang > Golang > Bolehkah Go Struct Literal Menetapkan Penunjuk Boolean Sebenar Tanpa Pembolehubah Tambahan?

Bolehkah Go Struct Literal Menetapkan Penunjuk Boolean Sebenar Tanpa Pembolehubah Tambahan?

Mary-Kate Olsen
Lepaskan: 2024-12-15 07:20:11
asal
128 orang telah melayarinya

Can a Go Struct Literal Directly Assign a True Boolean Pointer Without Extra Variables?

Menetapkan Penunjuk Boolean kepada True dalam Struct Literals

Soalan:

Sesuatu fungsi memerlukan penunjuk kepada nilai boolean. Bolehkah literal struct digunakan untuk menetapkan medan kepada benar tanpa memperkenalkan pembolehubah tambahan?

Jawapan:

Ya, mungkin, tetapi tidak ideal:

h := handler{is: &[]bool{true}[0]}
Salin selepas log masuk

Penyelesaian ini mencipta kepingan dengan nilai boolean tunggal bernilai benar, mengindeks elemen pertamanya dan memberikan alamatnya kepada is padang. Walaupun pembolehubah baharu dielakkan, boilerplate dan ketekunan tatasusunan sandaran memberikan kelemahan.

Penyelesaian yang Lebih Baik:

  • Pembantu Fungsi:
func newTrue() *bool {
    b := true
    return &b
}
Salin selepas log masuk
h := handler{is: newTrue()}
Salin selepas log masuk
  • Fungsi Tanpa Nama:
h := handler{is: func() *bool { b := true; return &b }()}
Salin selepas log masuk
  • Satu Pelapik Varian:
h := handler{is: func(b bool) *bool { return &b }(true)}
Salin selepas log masuk

Untuk lebih banyak pilihan, rujuk "Bagaimana cara saya melakukan *int64 literal dalam Go?".

Atas ialah kandungan terperinci Bolehkah Go Struct Literal Menetapkan Penunjuk Boolean Sebenar Tanpa Pembolehubah Tambahan?. 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