Sobes.tech
Middle — Senior

Ինչպես միացնել ցուցակները առանց join-ների օգտագործման?

sobes.tech AI

Պատասխան AI-ից

Երկու ցանկերը միացնելու համար առանց join օգտագործելու, դուք կարող եք պարզապես դրանք համակցել կամ ավելացնել մեկ ցանկի տարրերը մյուսին։ Go-ում դա կատարվում է append ֆունկցիայի միջոցով։

Երկու սլայսների միացման օրինակ՝

list1 := []int{1, 2, 3}
list2 := []int{4, 5, 6}

combined := append(list1, list2...)
// combined այժմ պարունակում է [1 2 3 4 5 6]

Եթե ցանկանում եք միացնել ցանկերը՝ հանելով կրկնվող տարրերը, կարող եք օգտագործել քարտեզ՝ եզակի տարրերը հետևելու համար՝

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
}

Այսպիսով, ցանկերի միացումը առանց join-ի հեշտ է՝ պարզապես ավելացնել տարրերը և անհրաժեշտության դեպքում ֆիլտրել եզակի արժեքները։