[GO]map做函数参数

package main

import "fmt"

func test(m map[int]string)  {
    delete(m, 1)
}

func main()  {
    m := map[int]string{1:"mike", 2:"yoyo", 3: "C++"}
    fmt.Println("m = ", m)
    test(m) //对函数进行修改,比如删除一个对
    fmt.Println("m = ", m)
}

执行结果

m =  map[1:mike 2:yoyo 3:C++]
m =  map[2:yoyo 3:C++]

可以看到map做为函数参数进行传递了以后,跟切片一样,是引用传递

当接收函数对参数进行操作时,原函数时里的map也会发生改变

转载于:https://www.cnblogs.com/baylorqu/p/9607657.html

你可能感兴趣的:([GO]map做函数参数)