Lru
基础
package main
import (
"fmt"
helper_lru "github.com/langwan/langgo/helpers/lru"
)
func main() {
lru := helper_lru.New[string, int](2)
lru.Set("x", 1)
lru.Set("y", 2)
if val, ok := lru.Get("x"); ok {
fmt.Println("x", val)
}
lru.Set("z", 3)
if val, ok := lru.Get("y"); ok {
fmt.Println("y", val)
}
}
x 1
Peek
package main
import (
"fmt"
helper_lru "github.com/langwan/langgo/helpers/lru"
)
func main() {
lru := helper_lru.New[string, int](2)
lru.Set("x", 1)
lru.Set("y", 2)
if val, ok := lru.Peek("x"); ok {
fmt.Println("x", val)
}
lru.Set("z", 3)
if val, ok := lru.Peek("x"); ok {
fmt.Println("x", val)
}
}
x 1
Range
package main
import (
"fmt"
helper_lru "github.com/langwan/langgo/helpers/lru"
)
func main() {
lru := helper_lru.New[string, int](2)
lru.Set("x", 1)
lru.Set("y", 2)
lru.Range(func(k, v any) bool {
fmt.Println(k, v)
return true
})
}
x 1
y 2
多实例
package main
import (
"fmt"
helper_lru "github.com/langwan/langgo/helpers/lru"
)
func main() {
lruAccount := helper_lru.New[string, int](2)
lruAccount.Set("x", 1)
lruAccount.Set("y", 2)
lruAccount.Range(func(k, v any) bool {
fmt.Println(k, v)
return true
})
lruOrder := helper_lru.New[int, int](2)
lruOrder.Set(1, 1)
lruOrder.Set(2, 2)
lruOrder.Range(func(k, v any) bool {
fmt.Println(k, v)
return true
})
}
y 2
x 1
1 1
2 2
Last updated