mirror of
https://github.com/HDT3213/godis.git
synced 2025-10-06 01:07:06 +08:00
25 lines
774 B
Go
25 lines
774 B
Go
package list
|
|
|
|
// Expected check whether given item is equals to expected value
|
|
type Expected func(a interface{}) bool
|
|
|
|
// Consumer traverses list.
|
|
// It receives index and value as params, returns true to continue traversal, while returns false to break
|
|
type Consumer func(i int, v interface{}) bool
|
|
|
|
type List interface {
|
|
Add(val interface{})
|
|
Get(index int) (val interface{})
|
|
Set(index int, val interface{})
|
|
Insert(index int, val interface{})
|
|
Remove(index int) (val interface{})
|
|
RemoveLast() (val interface{})
|
|
RemoveAllByVal(expected Expected) int
|
|
RemoveByVal(expected Expected, count int) int
|
|
ReverseRemoveByVal(expected Expected, count int) int
|
|
Len() int
|
|
ForEach(consumer Consumer)
|
|
Contains(expected Expected) bool
|
|
Range(start int, stop int) []interface{}
|
|
}
|