Membongkar Tatasusunan dalam Tugasan Go
Walaupun Go tidak menyokong pembongkaran langsung tatasusunan kepada berbilang pembolehubah seperti Python, terdapat strategi untuk mencapai yang serupa kefungsian.
Pembukaan Ad-Hoc Fungsi
Satu pendekatan ialah mentakrifkan fungsi tersuai:
func splitLink(s, sep string) (string, string) { x := strings.Split(s, sep) return x[0], x[1] }
Anda kemudian boleh membongkar tatasusunan menggunakan fungsi ini:
name, link := splitLink("foo\thttps://bar", "\t")
Argumen Penunjuk Variadic
Kaedah lain melibatkan penggunaan penuding variadic hujah:
func unpack(s []string, vars... *string) { for i, str := range s { *vars[i] = str } }
Ini membolehkan anda menulis:
var name, link string unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)
Walau bagaimanapun, ini memerlukan pengisytiharan pembolehubah secara eksplisit dan kurang boleh dibaca.
Mengendalikan Lebih Banyak Nilai
Jika bilangan nilai yang akan dibongkar diketahui, anda boleh menggunakan satu siri penyataan tugasan:
var name, link, description string x := strings.Split("foo\thttps://bar\tDescription", "\t") name = x[0] link = x[1] description = x[2]
Sebagai alternatif, anda boleh menggunakan gelung untuk lelaran melalui tatasusunan dan memberikan nilai kepada pembolehubah:
var name, link, description string for i := 0; i < len(x); i++ { switch i { case 0: name = x[i] case 1: link = x[i] case 2: description = x[i] } }
Atas ialah kandungan terperinci Bagaimana untuk Membongkar Tatasusunan dalam Tugasan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!