Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memulakan Penunjuk Rentetan dalam Structs dalam 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" } }
Ini gagal dengan ralat:
cannot use "string" (type string) as type *string in field value
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 } }
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!