Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Membongkar Elemen Tatasusunan Terus ke dalam Pembolehubah dalam Go?

Bagaimanakah Saya Boleh Membongkar Elemen Tatasusunan Terus ke dalam Pembolehubah dalam Go?

Susan Sarandon
Lepaskan: 2024-11-14 20:08:02
asal
616 orang telah melayarinya

How Can I Unpack Array Elements Directly into Variables in Go?

Membongkar Elemen Tatasusunan dalam Go

Go tidak mempunyai sintaks yang mudah untuk membongkar elemen tatasusunan terus ke dalam pembolehubah yang terdapat dalam Python. Walaupun pendekatan awal penyoal menggunakan pembolehubah perantaraan berfungsi, ia boleh membawa kepada kod berantakan, terutamanya dalam senario yang kompleks.

Nilai Pulangan Berbilang

Untuk menangani perkara ini, disyorkan penyelesaian adalah untuk mencipta fungsi yang mengembalikan berbilang nilai. Contohnya, untuk membelah rentetan dan membongkar keputusan kepada dua pembolehubah, fungsi seperti ini boleh digunakan:

func splitLink(s, sep string) (string, string) {
    x := strings.Split(s, sep)
    return x[0], x[1]
}
Salin selepas log masuk

Dengan fungsi ini, kod berikut boleh digunakan untuk membongkar rentetan pecahan:

name, link := splitLink("foo\thttps://bar", "\t")
Salin selepas log masuk

Argumen Penunjuk Variadik

Pendekatan lain ialah menggunakan argumen penuding variadic, yang membenarkan pembolehubah penuding berbilang dihantar ke fungsi dan memberikan nilai tatasusunan. Begini caranya:

func unpack(s []string, vars... *string) {
    for i, str := range s {
        *vars[i] = str
    }
}
Salin selepas log masuk

Untuk membongkar tatasusunan, kod di bawah boleh digunakan:

var name, link string
unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)
Salin selepas log masuk

Pendekatan ini membenarkan pembongkaran tatasusunan dalam sebarang saiz, tetapi ia memerlukan pengisytiharan yang jelas pembolehubah dan dianggap kurang boleh dibaca oleh sesetengah pembangun.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membongkar Elemen Tatasusunan Terus ke dalam Pembolehubah dalam Go?. 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