Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memulakan Struktur Terbenam dalam Go?

Bagaimana untuk Memulakan Struktur Terbenam dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-11 01:30:02595semak imbas

How to Initialize Embedded Structs in Go?

Memahami Permulaan Struktur Terbenam dalam Go

Go menyediakan konsep pembenaman, membenarkan struct mengandungi medan daripada jenis lain tanpa menduplikasi pelaksanaannya. Dalam konteks struct terbenam, memulakan struct dalaman tanpa nama menjadi tugas penting.

Memulakan Struktur Dalaman Tanpa Nama dalam MyRequest

Pertimbangkan coretan kod berikut, di mana struct MyRequest membenamkan http.Request struct:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}

Untuk memulakan struct dalaman tanpa nama, http.Request, dalam fungsi Baharu, anda boleh mengikuti pendekatan ini:

  • Menggunakan kata kunci baharu:
req := new(MyRequest)
req.PathParams = pathParams
req.Request = origRequest
  • Menggunakan sintaks literal struct:
req := &MyRequest{
  PathParams: pathParams
  Request: origRequest
}

Kedua-dua pendekatan mencapai matlamat yang sama untuk memulakan http .Medan Permintaan struct MyRequest dengan parameter origRequest yang disediakan.

Rujukan

Untuk pemahaman yang lebih mendalam tentang pembenaman dan penamaan medan dalam struct, rujuk dokumentasi Go rasmi:

  • https://golang.org/ref/spec#Struct_types

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Struktur Terbenam dalam Go?. 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