github.com/hdt3213/godis@v1.2.9/datastruct/list/interface.go (about) 1 package list 2 3 // Expected check whether given item is equals to expected value 4 type Expected func(a interface{}) bool 5 6 // Consumer traverses list. 7 // It receives index and value as params, returns true to continue traversal, while returns false to break 8 type Consumer func(i int, v interface{}) bool 9 10 type List interface { 11 Add(val interface{}) 12 Get(index int) (val interface{}) 13 Set(index int, val interface{}) 14 Insert(index int, val interface{}) 15 Remove(index int) (val interface{}) 16 RemoveLast() (val interface{}) 17 RemoveAllByVal(expected Expected) int 18 RemoveByVal(expected Expected, count int) int 19 ReverseRemoveByVal(expected Expected, count int) int 20 Len() int 21 ForEach(consumer Consumer) 22 Contains(expected Expected) bool 23 Range(start int, stop int) []interface{} 24 }