Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mencapai Berbilang Tugasan daripada Tatasusunan dalam Go?
Berbilang Tugasan daripada Tatasusunan dalam Go
Dalam Python, membongkar daripada tatasusunan boleh dilakukan secara elegan dengan tugasan seperti:
a, b = "foo;bar".split(";")
Go tidak menyokong pembungkusan/pembongkaran umum sedemikian. Walau bagaimanapun, terdapat beberapa cara untuk mencapai berbilang tugasan.
Fungsi Tersuai:
Satu pendekatan ialah mencipta fungsi tersuai yang mengembalikan berbilang nilai, seperti:
func splitLink(s, sep string) (string, string) { x := strings.Split(s, sep) return x[0], x[1] }
Anda kemudian boleh menetapkan terus daripada fungsi panggil:
name, link := splitLink("foo\thttps://bar", "\t")
Argumen Penunjuk Variadik:
Pilihan lain ialah menggunakan argumen penuding variadic:
func unpack(s []string, vars... *string) { for i, str := range s { *vars[i] = str } }
Ini membolehkan anda menetapkan nilai kepada berbilang pembolehubah:
var name, link string unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)
Pilihan Pendekatan:
Pendekatan fungsi tersuai mungkin lebih mudah dibaca untuk senario biasa di mana anda ingin memisahkan dan menetapkan hanya dua pembolehubah. Untuk senario tatasusunan yang lebih kompleks atau bersaiz pembolehubah, pendekatan hujah penuding variadic mungkin lebih fleksibel.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Berbilang Tugasan daripada Tatasusunan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!