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{} используется для эффективного хранения уникальных ключей без дополнительного потребления памяти на значение. Итоговый срез содержит только уникальные адреса, что позволяет вызывать их один раз.