Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memulakan Struct dengan Penunjuk Rentetan dan Membenarkan Nilai Nil?
Pemulaan Penunjuk Struktur
Memulakan struct dengan penuding rentetan boleh menjadi rumit, terutamanya apabila nilai lalai sepatutnya sifar.
Masalah
Apabila cuba untuk mulakan struct dengan penuding rentetan sebagai nilai lalai, menggunakan rentetan malar dalam permulaan, ralat berlaku:
cannot use "string" (type string) as type *string in field value
Penyelesaian
Untuk memulakan struct dengan penuding rentetan yang boleh menjadi sifar, anda mesti menetapkan alamat pembolehubah, bukan nilai malar, kepada penuding. Berikut ialah kod diubah suai yang berfungsi:
type Config struct { Uri *string } func init() { v := "my:default" var config = Config{ Uri: &v } }
Dalam kes ini, pembolehubah v memegang nilai rentetan lalai. Dengan mengambil alamatnya menggunakan operator & dan memberikannya kepada Uri, kami mencipta penuding rentetan yang boleh digunakan untuk perbandingan dan boleh menjadi sifar jika tidak ditetapkan secara eksplisit.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Struct dengan Penunjuk Rentetan dan Membenarkan Nilai Nil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!