Sobes.tech
Middle+
43

Live coderen: adresdeduplicatie — hoe een lijst met duplicaten te verwerken om unieke adressen aan te roepen. Oplossing via map.

Bedrijven waar gevraagd werd
Веро Трейс

Antwoord van AI

sobes.tech AI

Для дедупликации списка адресов в Go удобно использовать map, где ключом будет адрес, а значением — булево значение или пустая структура для экономии памяти.

Пример:

package main

import "fmt"

func uniqueAddresses(addresses []string) []string {
    seen := make(map[string]struct{})
    var result []string

    for _, addr := range addresses {
        if _, exists := seen[addr]; !exists {
            seen[addr] = struct{}{}
            result = append(result, addr)
        }
    }
    return result
}

func main() {
    addresses := []string{"addr1", "addr2", "addr1", "addr3", "addr2"}
    unique := uniqueAddresses(addresses)
    fmt.Println(unique) // Output: [addr1 addr2 addr3]
}

Здесь map[string]struct{} используется для эффективного хранения уникальных ключей без дополнительного потребления памяти на значение. Итоговый срез содержит только уникальные адреса, что позволяет вызывать их один раз.