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] }
Dengan fungsi ini, kod berikut boleh digunakan untuk membongkar rentetan pecahan:
name, link := splitLink("foo\thttps://bar", "\t")
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 } }
Untuk membongkar tatasusunan, kod di bawah boleh digunakan:
var name, link string unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)
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!