Pengaturcaraan Dalam Go, mencipta tatasusunan yang mengandungi hanya rentetan unik memberikan cabaran. Walau bagaimanapun, terdapat kaedah yang berkesan untuk mencapai ini menggunakan gabungan struktur data.
Bahasa Go tidak menyediakan jenis data set terbina dalam, tetapi peta boleh berfungsi sebagai satu dengan berkesan. Kekunci dalam peta sememangnya unik, memastikan setiap rentetan yang ditambahkan pada peta adalah unik. Pendekatan ini mewujudkan pelaksanaan set yang cekap dan mudah.
Pertimbangkan coretan kod berikut:
m := make(map[string]bool) m["aaa"] = true m["bbb"] = true m["ccc"] = true
Dalam kod ini, kami mencipta peta bernama m dan menambah tiga rentetan unik sebagai kuncinya. Untuk menyemak sama ada rentetan tertentu wujud dalam set, kami hanya menggunakan ungkapan indeks:
exists := m["somevalue"]
Jika rentetan hadir dalam set, pembolehubah wujud akan menjadi benar; jika tidak, ia akan menjadi palsu.
Jika mengekalkan susunan unsur dalam set itu penting, pendekatan yang lebih maju diperlukan. Dengan menggabungkan hirisan untuk memanggil semula tertib sisipan dengan peta untuk menjamin keunikan, kami boleh mencipta set tertib dengan berkesan.
var m = make(map[string]bool) var a = []string{} func main() { add("aaa") add("bbb") add("ccc") } func add(s string) { if m[s] { return // Already in the map } a = append(a, s) m[s] = true }
Dalam kod ini, slice a menyimpan unsur dalam susunan yang telah ditambahkan. Fungsi tambah menyemak pendua dalam peta dan, jika tiada yang ditemui, tambah rentetan baharu pada hirisan dan kemas kini peta dengan sewajarnya.
Dengan menggunakan kaedah ini, anda boleh mencipta tatasusunan atau set rentetan dengan berkesan yang mengandungi hanya nilai unik, sama ada anda mengutamakan susunan unsur atau tidak.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Tatasusunan Rentetan Unik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!