Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Memulakan Parameter Fungsi Go Menggunakan Nama Medan?

Bagaimanakah Saya Boleh Memulakan Parameter Fungsi Go Menggunakan Nama Medan?

Linda Hamilton
Lepaskan: 2024-12-15 04:22:13
asal
652 orang telah melayarinya

How Can I Initialize Go Function Parameters Using Field Names?

Mulakan Medan Fungsi dalam Go

Dalam Go, tidak mungkin untuk menentukan parameter yang dinamakan semasa memanggil fungsi. Sebaliknya, hujah mesti disenaraikan dalam susunan yang dijangkakan. Walau bagaimanapun, terdapat dua pendekatan untuk mencapai pemulaan menggunakan nama medan:

Menggunakan Struct

Kaedah yang paling langsung adalah untuk mentakrifkan struct yang merangkumi parameter fungsi dan menghantar contoh struct kepada fungsi:

type Params struct {
    Name    string
    Address string
    Nick    string
    Age     int
    Value   int
}

func MyFunction(p Params) {
    // Operations using p.Name, p.Address, etc.
}

func main() {
    MyFunction(Params{
        Name:    "Bob",
        Address: "New York",
        Nick:    "Builder",
        Age:     30,
        Value:   1000,
    })
}
Salin selepas log masuk

Menggunakan Fungsi Pembantu

Jika mengubah suai fungsi asal tidak boleh dilaksanakan, fungsi pembantu boleh dibuat yang menerima struct dan memajukan nilai medan yang sesuai kepada fungsi asal:

func MyFunction(name, address, nick string, age, value int) {
    // Operations using name, address, etc.
}

func MyFunction2(p Params) {
    MyFunction(p.Name, p.Address, p.Nick, p.Age, p.Value)
}

func main() {
    MyFunction2(Params{
        Name:    "Bob",
        Address: "New York",
        Nick:    "Builder",
        Age:     30,
        Value:   1000,
    })
}
Salin selepas log masuk

Kedua-dua kaedah membolehkan anda memulakan parameter fungsi menggunakan nama medan, menawarkan kefleksibelan dan kebolehbacaan kod dipertingkatkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Parameter Fungsi Go Menggunakan Nama Medan?. 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