Учитывая массив float64 (или любую другую вещь), я хотел бы построить set
, похожий на набор, который мы находим в python.Каков наилучший подход к проектированию такой структуры данных?
До сих пор мне удавалось построить набор с использованием карты, но, кажется, неловко изменять карту для построения набора.
package main
import (
"fmt"
"sort"
)
func main() {
var scores = []float64{
12.0, 6.0, 19.0, 20.0, 2.0, 8.0, 20.0,
}
set := make(map[float64]bool)
for _, t := range scores {
set[t] = true
}
unk := make([]float64, 0, len(set))
for t := range set {
unk = append(unk, t)
}
sort.Float64s(unk)
fmt.Println(unk)
}
Будет производить
[2 6 8 12 19 20]