1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00

feat(maputil): add GetValue (#243)

* add maputil.GetValue

* rename GetOrDefault
This commit is contained in:
yunxuan
2024-09-10 15:08:36 +08:00
committed by GitHub
parent 7e85a0ed7d
commit 69f9c74bcb
4 changed files with 110 additions and 0 deletions

View File

@@ -77,6 +77,7 @@ import (
- [ConcurrentMap_Range](#ConcurrentMap_Range)
- [GetOrSet](#GetOrSet)
- [SortByKey](#SortByKey)
- [GetOrDefault](#GetOrDefault)
<div STYLE="page-break-after: always;"></div>
@@ -2263,4 +2264,44 @@ func main() {
// Output:
// map[1:a 2:b 3:c 4:d]
}
```
### <span id="GetOrDefault">GetOrDefault</span>
<p>返回给定键的值,如果键不存在,则返回默认值。</p>
<b>函数签名:</b>
```go
func GetOrDefault[K comparable, V any](m map[K]V, key K, defaultValue V) V
```
<b>示例:<span style="float:right;display:inline-block;">[运行](https://go.dev/play/p/99QjSYSBdiM)</span></b>
```go
package main
import (
"fmt"
"github.com/duke-git/lancet/v2/maputil"
)
func main() {
m := map[int]string{
3: "c",
1: "a",
4: "d",
2: "b",
}
result1 := maputil.GetOrDefault(m, 1, "default")
result2 := maputil.GetOrDefault(m, 6, "default")
fmt.Println(result1)
fmt.Println(result2)
// Output:
// a
// default
}
```

View File

@@ -77,6 +77,7 @@ import (
- [ConcurrentMap_Has](#ConcurrentMap_Has)
- [ConcurrentMap_Range](#ConcurrentMap_Range)
- [GetOrSet](#GetOrSet)
- [GetOrDefault](#GetOrDefault)
<div STYLE="page-break-after: always;"></div>
@@ -2279,4 +2280,44 @@ func main() {
// Output:
// map[1:a 2:b 3:c 4:d]
}
```
### <span id="GetOrDefault">GetOrDefault</span>
<p>returns the value of the given key or a default value if the key is not present.</p>
<b>Signature:</b>
```go
func GetOrDefault[K comparable, V any](m map[K]V, key K, defaultValue V) V
```
<b>Example:<span style="float:right;display:inline-block;">[运行](https://go.dev/play/p/99QjSYSBdiM)</span></b>
```go
package main
import (
"fmt"
"github.com/duke-git/lancet/v2/maputil"
)
func main() {
m := map[int]string{
3: "c",
1: "a",
4: "d",
2: "b",
}
result1 := maputil.GetOrDefault(m, 1, "default")
result2 := maputil.GetOrDefault(m, 6, "default")
fmt.Println(result1)
fmt.Println(result2)
// Output:
// a
// default
}
```