Bagaimanakah Saya Mengakses Medan Terbenam dalam Go Structs?

Linda Hamilton
Lepaskan: 2024-10-27 13:38:29
asal
845 orang telah melayarinya

How Do I Access Embedded Fields in Go Structs?

Mengakses Medan Terbenam Jenis Struktur

Dalam Go, jenis struct boleh mengandungi medan terbenam, yang membenarkan untuk membenamkan satu atau lebih jenis dalam struct. Ciri berkuasa ini membolehkan penggunaan semula kod dan pengurusan memori yang cekap. Walau bagaimanapun, memahami cara untuk mengakses medan ini boleh menjadi mencabar semasa mempelajari tentang penunjuk.

Pertimbangkan takrifan struktur berikut:

<code class="go">type Engine struct {
    power int
}

type Tires struct {
    number int
}

type Cars struct {
    *Engine // Embedded field with pointer
    Tires   // Embedded field without pointer
}</code>
Salin selepas log masuk

Seperti yang anda perhatikan, dalam struktur Kereta, satu tertanam penunjuk jenis *Enjin ditakrifkan. Ini membenarkan akses kepada kaedah dan medan jenis Enjin melalui struktur Kereta.

Untuk mengakses medan kuasa medan terbenam Enjin, anda mesti memulakan kedua-dua struktur Enjin dan Kereta terlebih dahulu. Dalam fungsi utama:

<code class="go">func main() {
    car := new(Cars) // Initialize Cars struct
    car.Engine = new(Engine) // Initialize Engine struct explicitly
    car.power = 342 // Set power field
    car.number = 4 // Set number field
}</code>
Salin selepas log masuk

Dengan memulakan secara eksplisit kedua-dua struktur, anda mewujudkan sambungan antara *Penunjuk Enjin terbenam dan objek Enjin sebenar. Kini, anda boleh mengakses medan kuasa melalui struct Kereta:

<code class="go">fmt.Println(car.power) // Prints 342</code>
Salin selepas log masuk

Begitu juga, untuk medan tertanam bukan penuding Tayar, anda boleh terus mengakses medan nombornya:

<code class="go">fmt.Println(car.number) // Prints 4</code>
Salin selepas log masuk

Contoh ini menunjukkan cara untuk memulakan dan mengakses medan terbenam dengan betul dalam struktur, membolehkan anda menggunakan sepenuhnya penggunaan semula kod dan pengurusan memori yang cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Medan Terbenam dalam Go Structs?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!