Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Memulakan Penunjuk Rentetan dalam Structs dalam Go?

Bagaimana untuk Memulakan Penunjuk Rentetan dalam Structs dalam Go?

Barbara Streisand
Lepaskan: 2024-11-12 17:35:02
asal
927 orang telah melayarinya

How to Initialize String Pointers in Structs in Go?

Memulakan Penunjuk Rentetan dalam Structs

Dalam Go, memulakan struct dengan penuding kepada rentetan di mana penunjuk boleh menjadi sifar memerlukan pengendalian yang teliti . Coretan kod berikut menunjukkan cabaran:

type Config struct {
  Uri       *string
}

func init() {
  var config = Config{ Uri: "my:default" }
}
Salin selepas log masuk

Ini gagal dengan ralat:

cannot use "string" (type string) as type *string in field value
Salin selepas log masuk

Untuk menyelesaikannya, seseorang tidak boleh hanya menunjuk kepada nilai rentetan malar seperti dalam kod di atas . Sebaliknya, pembolehubah diperlukan:

type Config struct {
  Uri       *string
}

func init() {
  v := "my:default"
  var config = Config{ Uri: &v }
}
Salin selepas log masuk

Dalam kod ini, pembolehubah v dicipta dan dimulakan dengan nilai yang dikehendaki. Kemudian, alamat v (iaitu, &v) diberikan kepada medan Uri struct. Ini berfungsi kerana medan Uri ialah penunjuk kepada rentetan dan alamat v ialah jenis *rentetan.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Penunjuk Rentetan dalam Structs dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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