概要
忘れないうちにメモメモ。。。便利ですね。そのうち標準ライブラリに含まれるのを希望。
サンプル
package exp_maps import ( "github.com/devlights/gomy/output" "golang.org/x/exp/maps" ) // ExpMaps -- Go 1.18 リリース時には含まれなかったジェネリクス対応 汎用map処理が定義されている golang.org/x/exp/maps パッケージのサンプルです。 // // REFERENCES // - https://pkg.go.dev/golang.org/x/exp/maps func ExpMaps() error { var ( m1 = map[string]int{"hello": 100, "world": 101} m2 = map[string]int{"world": 101, "hello": 100} k []string v []int ) k = maps.Keys(m1) v = maps.Values(m1) output.Stdoutl("[maps.Keys]", k, v) output.Stdoutl("[maps.Values]", maps.Equal(m1, m2)) maps.Clear(m1) output.Stdoutl("[maps.Clear]", m1, m2) return nil }
実行すると以下のような感じです。
gitpod /workspace/try-golang (master) $ task task: [run] go run . -onetime ENTER EXAMPLE NAME: exp_maps [Name] "generics_exp_maps" [maps.Keys] [hello world] [100 101] [maps.Values] true [maps.Clear] map[] map[hello:100 world:101] [Elapsed] 48.84µs
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。