読者です 読者をやめる 読者になる 読者になる

done is better than perfect

自分が学んだことや、作成したプログラムの記事を書きます。

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で良さそうです。