github.com/mymmsc/gox@v1.3.33/util/examples/hashbidimap/hashbidimap.go (about) 1 // Copyright (c) 2015, Emir Pasic. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package main 6 7 import "github.com/mymmsc/gox/util/hashbidimap" 8 9 // HashBidiMapExample to demonstrate basic usage of HashMap 10 func main() { 11 m := hashbidimap.New() // empty 12 m.Put(1, "x") // 1->x 13 m.Put(3, "b") // 1->x, 3->b (random order) 14 m.Put(1, "a") // 1->a, 3->b (random order) 15 m.Put(2, "b") // 1->a, 2->b (random order) 16 _, _ = m.GetKey("a") // 1, true 17 _, _ = m.Get(2) // b, true 18 _, _ = m.Get(3) // nil, false 19 _ = m.Values() // []interface {}{"a", "b"} (random order) 20 _ = m.Keys() // []interface {}{1, 2} (random order) 21 m.Remove(1) // 2->b 22 m.Clear() // empty 23 m.Empty() // true 24 m.Size() // 0 25 }