随手小练习嗯~ o( ̄▽ ̄)o
输入
package main
import (
"fmt"
"sync"
)
func main() {
m := &sync.Map{}
m.LoadOrStore("key1", "v1")
m.LoadOrStore("key2", "v2")
m.LoadOrStore("key3", "v3")
var count int
m.Range(func(key, value interface{}) bool {
count++
fmt.Println(key,",",value)
return true
})
fmt.Println(count)
}
输出
key2 , v2
key3 , v3
key1 , v1
3
小记:
和map一样,key、value,只不过并发使用安全,使用它不需要通过锁机制或者协同。
Range方法的请求参数是一个匿名函数,匿名函数的参数是map的key,value。