Go言語でのSet(集合)型について
Pythonとかではset
型が標準でありますが、Go言語には標準ではなさそうなので調べてみたら便利なライブラリが見つかったので簡単に紹介。
使い方は以下のような感じです。
package main import ( "fmt" "github.com/deckarep/golang-set" ) func main() { list := []int{1, 2, 3, 4, 5, 2, 4, 6} set := mapset.NewSet() for _, v := range list { set.Add(v) } fmt.Println(set) // Set{1, 2, 3, 4, 5, 6} fmt.Println(set.Cardinality()) // 6 }
最初set
型の長さ(要素の数)の取り方がわからなかったのですが、Cardinality
で良さそうです。