Rumah > pembangunan bahagian belakang > Golang > Cara Memulakan Struktur Terbenam dalam Go: Panduan Dua Pendekatan

Cara Memulakan Struktur Terbenam dalam Go: Panduan Dua Pendekatan

Susan Sarandon
Lepaskan: 2024-11-17 15:44:02
asal
398 orang telah melayarinya

How to Initialize an Embedded Struct in Go: A Two-Approach Guide

Memulakan Struktur Terbenam dalam Go

Apabila bekerja dengan struct terbenam dalam Go, senario biasa melibatkan memulakan struct tanpa nama dalaman. Artikel ini menangani senario sedemikian, memberikan pemahaman yang jelas tentang cara untuk mencapai permulaan menggunakan dua pendekatan.

Pertimbangkan struct terbenam MyRequest berikut:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}
Salin selepas log masuk

Untuk memulakan MyRequest, kita perlu menetapkan nilai-nilai untuk struct http.Request tertanamnya. Begini cara ia boleh dilakukan:

func New(origRequest *http.Request, pathParams map[string]string) *MyRequest {
    req := new(MyRequest)
    req.PathParams = pathParams
    req.Request = origRequest
    return req
}
Salin selepas log masuk

Dalam pendekatan ini, kami mula-mula mencipta objek MyRequest baharu dan menetapkannya kepada req. Kami kemudian menetapkan medan PathParams dengan sewajarnya. Selepas itu, kami mengakses dan menetapkan struct http.Request tertanam dengan merujuk req.Request.

Sebagai alternatif, kami juga boleh memulakan struct terbenam menggunakan sintaks berikut:

req := &MyRequest{
  PathParams: pathParams
  Request: origRequest
}
Salin selepas log masuk

Di sini, kami buat struct tanpa nama dengan medan yang diperlukan. Adalah penting untuk memberi awalan nama struct terbenam dengan '&' untuk permulaan yang betul. Ini menghasilkan objek MyRequest dengan nilai yang dikehendaki.

Kedua-dua pendekatan berkesan memulakan struct http.Request tertanam dalam MyRequest, membolehkan anda menyesuaikan dan menggunakannya mengikut keperluan. Untuk rujukan lanjut, rujuk spesifikasi Go pada medan yang dinamakan untuk struktur terbenam.

Atas ialah kandungan terperinci Cara Memulakan Struktur Terbenam dalam Go: Panduan Dua Pendekatan. 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