Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 如何将指针值从映射传递到函数参数_Go - Fatal编程技术网

Go 如何将指针值从映射传递到函数参数

Go 如何将指针值从映射传递到函数参数,go,Go,所以我的用例是: 1.生成指向结构车的指针映射 2.变异图 3.迭代映射并传递给函数 但我不知道如何将指针的值从映射传递到函数,因为映射不允许您寻址指针 有什么更好的方法吗?您可以在调用过程中取消对cars map值的引用,这将使用car指针指向的值调用函数: getSize*汽车 如果没有,则应收到编译错误: 程序go:31:16:无法将car type*car用作参数中的car类型 getSize 你能发布一个最简单的可执行go操场示例吗?你为什么要在车上来回走动来设置同一把钥匙@dm035

所以我的用例是:

1.生成指向结构车的指针映射 2.变异图 3.迭代映射并传递给函数 但我不知道如何将指针的值从映射传递到函数,因为映射不允许您寻址指针


有什么更好的方法吗?

您可以在调用过程中取消对cars map值的引用,这将使用car指针指向的值调用函数:

getSize*汽车

如果没有,则应收到编译错误:

程序go:31:16:无法将car type*car用作参数中的car类型 getSize


你能发布一个最简单的可执行go操场示例吗?你为什么要在车上来回走动来设置同一把钥匙@dm03514没有在车上设置同一个键,我只是通过设置一个值来演示,你能详细说明一下你所说的尊重车地图值是什么意思吗?也许有一个代码示例?
type Car struct {
    Model string
    Size  int
}

func getSize(car Car) {
    fmt.Println(car.Size)
}

func main() {
    cars := make(map[string]*Car)
    // fill cars with stuff
    cars["Toyota"] = &Car{
        Model: "Toyota",
        Size:  2,
    }

    for _, car := range cars {
        cars["Toyota"].Size = 4
    }

    for _, car := range cars {
        //somehow get the value of car and insert into function
        getSize(car)
    }
}
package main

import (
    "fmt"
)


type Car struct {
    Model string
    Size  int
}

func getSize(car Car) {
    fmt.Println(car.Size)
}

func main() {
    cars := make(map[string]*Car)
    // fill cars with stuff
    cars["Toyota"] = &Car{
        Model: "Toyota",
        Size:  2,
    }


    cars["Toyota"].Size = 4


    for _, car := range cars {
        //somehow get the value of car and insert into function
        getSize(car)
    }
}