Sobes.tech
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.