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  }