诗歌,切片,地图和陈是GO的参考类型,结构是值类型。如果您需要修改函数中构造本身的值,则需要将struct指针作为参数传递。时间,如果声明值是结构的地图,则根据密钥修改值,您需要注意地图的值语句作为结构指针类型,例如:
以上代码试图通过键修改相应结构的成员变量的值。recrults编译了报告错误的时间:
由于struct是一个值类型,因此M [“ S1”]指向实际的struct对象,因此GO编译器直接给出了一个错误提示。将MAP值类型调整为学生指针以解决此问题。
目前,m [s1“]指向特定的指针对象,该对象可以通过指法修改其成员变量。
运行此程序将发现每个输出顺序不同,第一个操作,
再次运行,
这是因为在基础实现中,范围映射调用MapiterInit方法生成迭代器。在生成迭代器的过程中,它首先生成一个随机数,并根据随机数确定第一批跨越的铲斗的位置。因此,每次都会生成的密钥序列不同。