ZhangZhihui's Blog  

 

package main

import (
    "fmt"
    "maps"
)

func delete(k string, v int) bool {
    return v%2 != 0
}

func equal(v1 int, v2 float64) bool {
    return float64(v1) == v2
}

func main() {
    m := map[string]int{
        "one": 1, "two": 2,
        "three": 3, "four": 4,
    }

    fmt.Printf("%#v\n", m)
    maps.DeleteFunc(m, delete)
    fmt.Printf("%#v\n", m)

    n := maps.Clone(m)
    if maps.Equal(m, n) {
        fmt.Println(("Equal!"))
    } else {
        fmt.Println("Not equal!")
    }

    n["three"] = 3
    n["two"] = 22
    fmt.Println("Before n:", n, "m:", m)
    maps.Copy(m, n)
    fmt.Println("After n:", n, "m:", m)
}

 

zzh@ZZHPC:/zdata/Github/ztest$ go run main.go
map[string]int{"four":4, "one":1, "three":3, "two":2}
map[string]int{"four":4, "two":2}
Equal!
Before n: map[four:4 three:3 two:22] m: map[four:4 two:2]
After n: map[four:4 three:3 two:22] m: map[four:4 three:3 two:22]

 

posted on 2024-06-11 11:35  ZhangZhihuiAAA  阅读(12)  评论(0编辑  收藏  举报