github.com/whatap/golib@v0.0.22/util/hmap/IntKeyLinkedEntry.go (about) 1 package hmap 2 3 import ( 4 "fmt" 5 ) 6 7 type IntKeyLinkedEntry struct { 8 key int32 9 keyHash uint 10 value interface{} 11 next *IntKeyLinkedEntry 12 link_next *IntKeyLinkedEntry 13 link_prev *IntKeyLinkedEntry 14 } 15 16 func NewIntKeyLinkedEntry(key int32, value interface{}, next *IntKeyLinkedEntry) *IntKeyLinkedEntry { 17 p := new(IntKeyLinkedEntry) 18 p.key = key 19 p.value = value 20 p.next = next 21 22 return p 23 } 24 25 func (this *IntKeyLinkedEntry) GetKey() int32 { 26 return this.key 27 } 28 func (this *IntKeyLinkedEntry) GetValue() interface{} { 29 return this.value 30 } 31 func (this *IntKeyLinkedEntry) SetValue(v interface{}) interface{} { 32 old := this.value 33 this.value = v 34 return old 35 } 36 func (this *IntKeyLinkedEntry) Equals(o *IntKeyLinkedEntry) bool { 37 return this.key == o.key 38 } 39 40 func (this *IntKeyLinkedEntry) HashCode() uint { 41 return uint(this.key ^ this.key>>32) 42 } 43 44 func (this *IntKeyLinkedEntry) ToString() string { 45 return fmt.Sprintf("%d=%v", this.key, this.value) 46 }