github.com/whatap/golib@v0.0.22/util/hmap/StringKeyLinkedEntry.go (about) 1 package hmap 2 3 import ( 4 "fmt" 5 6 "github.com/whatap/golib/util/hash" 7 ) 8 9 type StringKeyLinkedEntry struct { 10 key string 11 keyHash uint 12 value interface{} 13 hash_next *StringKeyLinkedEntry 14 link_next *StringKeyLinkedEntry 15 link_prev *StringKeyLinkedEntry 16 } 17 18 func (this *StringKeyLinkedEntry) GetKey() string { 19 return this.key 20 } 21 func (this *StringKeyLinkedEntry) GetValue() interface{} { 22 return this.value 23 } 24 func (this *StringKeyLinkedEntry) SetValue(v interface{}) interface{} { 25 old := this.value 26 this.value = v 27 return old 28 } 29 func (this *StringKeyLinkedEntry) Equals(o *StringKeyLinkedEntry) bool { 30 return this.key == o.key 31 } 32 33 func (this *StringKeyLinkedEntry) HashCode() uint { 34 return uint(hash.Hash([]byte(this.key))) 35 } 36 37 func (this *StringKeyLinkedEntry) ToString() string { 38 return fmt.Sprintf("%s=%v", this.key, this.value) 39 }