Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memulakan Struct dengan Penunjuk Rentetan dan Membenarkan Nilai Nil?

Bagaimana untuk Memulakan Struct dengan Penunjuk Rentetan dan Membenarkan Nilai Nil?

Barbara Streisand
Barbara Streisandasal
2024-11-14 17:17:02460semak imbas

How to Initialize a Struct with a String Pointer and Allow for Nil Values?

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!

Kenyataan:
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