Middle — Senior
Ro'yxatlarni qanday birlashtirish mumkin, joinlardan foydalanmasdan?
sobes.tech AI
AIdan javob
Join ishlatilmasdan ikki ro'yxatni birlashtirish uchun, ularni oddiygina qo'shish yoki bir ro'yxat elementlarini boshqasiga qo'shish mumkin. Go tilida bu append funktsiyasi yordamida amalga oshiriladi.
Ikki slices ni birlashtirish misoli:
list1 := []int{1, 2, 3}
list2 := []int{4, 5, 6}
combined := append(list1, list2...)
// combined endi [1 2 3 4 5 6] ni o'z ichiga oladi
Agar takroriy elementlarni olib tashlab ro'yxatlarni birlashtirmoqchi bo'lsangiz, noyob elementlarni kuzatish uchun xarita (map)dan foydalanishingiz mumkin:
func mergeUnique(a, b []int) []int {
m := make(map[int]bool)
var result []int
for _, v := range a {
if !m[v] {
m[v] = true
result = append(result, v)
}
}
for _, v := range b {
if !m[v] {
m[v] = true
result = append(result, v)
}
}
return result
}
Shunday qilib, joinsiz ro'yxatlarni birlashtirish, elementlarni qo'shish va kerak bo'lsa, noyob qiymatlarni filtrlashdan iborat.