Sobes.tech
Middle — Senior

Jak połączyć listy bez użycia joinów?

sobes.tech AI

Odpowiedź od AI

Aby połączyć dwie listy bez użycia joinów, można je po prostu skonkatenować lub dodać elementy jednej listy do drugiej. W Go robi się to za pomocą funkcji append.

Przykład łączenia dwóch slices:

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

combined := append(list1, list2...)
// combined teraz zawiera [1 2 3 4 5 6]

Jeśli chcesz połączyć listy z usunięciem duplikatów, możesz użyć mapy do śledzenia unikalnych elementów:

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
}

Tak więc, łączenie list bez joinów to po prostu dodawanie elementów i, w razie potrzeby, filtrowanie unikalnych wartości.