mapmapmap
mapsyncMapmapsync.Map
import (
    "sync"
)

func main() {
    // 创建一个并发安全的map
    var m sync.Map

    // 向map中添加键值对
    m.Store("key1", "value1")
    m.Store("key2", "value2")

    // 从map中获取值
    value, ok := m.Load("key1")
    if ok {
        fmt.Println("Value:", value)
    }

    // 删除map中的键值对
    m.Delete("key2")

    // 遍历map中的所有键值对
    m.Range(func(key, value interface{}) bool {
        fmt.Println("Key:", key, "Value:", value)
        return true
    })
}
sync.MapmapStoremapLoadDeleteRangemap
sync.Mapinterface{}Range
sync.Mapmapsync.Mapmap
mapsync.Map
Store(key, value interface{})mapLoad(key interface{}) (value interface{}, ok bool)mapDelete(key interface{})mapRange(f func(key, value interface{}) bool)mapf
sync.Map
import (
    "fmt"
    "sync"
)

func main() {
    var m sync.Map

    // 存储键值对
    m.Store("key1", 1)
    m.Store("key2", 2)
    m.Store("key3", 3)

    // 并发读取值
    go func() {
        value, ok := m.Load("key1")
        if ok {
            fmt.Println("Goroutine 1 - Value:", value)
        }
    }()

    go func() {
        value, ok := m.Load("key2")
        if ok {
            fmt.Println("Goroutine 2 - Value:", value)
        }
    }()

    // 并发删除键值对
    go func() {
        m.Delete("key3")
    }()

    // 遍历所有键值对
    m.Range(func(key, value interface{}) bool {
        fmt.Println("Key:", key, "Value:", value)
        return true
    })

    // 等待goroutines完成
    time.Sleep(time.Second)
}
sync.Mapmapmap
RangemapRange
Rangemapsync.Map