美文网首页
有意思,值传递后,指针访问修改原有的值

有意思,值传递后,指针访问修改原有的值

作者: anthonydan | 来源:发表于2020-03-16 23:22 被阅读0次

package main

import "fmt"

type data struct {
num int
key *string
items map[string]bool
}

func (this *data) pointerFunc() {
this.num = 7
}

func (this data) valueFunc() {
this.num = 8
*this.key = "valueFunc.key"
this.items["valueFunc"] = true
}

func main() {
key := "key1"

d := data{1, &key, make(map[string]bool)}
fmt.Printf("num=%v  key=%v  items=%v\n", d.num, *d.key, d.items)

d.pointerFunc() // 修改 num 的值为 7
fmt.Printf("num=%v  key=%v  items=%v\n", d.num, *d.key, d.items)

d.valueFunc()   // 修改 key 和 items 的值
fmt.Printf("num=%v  key=%v  items=%v\n", d.num, *d.key, d.items)

}

相关文章

  • 有意思,值传递后,指针访问修改原有的值

    package main import "fmt" type data struct {num intkey ...

  • 数组做参数

    数组做参数,是以指针的方式,改变函数中数组的值,就可以修改原数组的值。 指针的作用就是可以在函数以外访问数据。

  • Go语言学习笔记(三)

    指针 Go的指针不能运算 参数传递 Go的参数传递是值传递(值传递:开辟新的空间,拷贝传递参数的值,引用传递:引用...

  • C++用const修饰函数情形解析

    1.如果给以“指针传递”方式的函数返回值加const修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被...

  • 读书笔记17.06.02【stack】【vector】

    C++中参数传递:按值传递,指针传递和引用传递按值传递:形参是实参的拷贝。指针传递:拷贝指针,被调用函数对指针指向...

  • JavaScript高级编程笔记(1)

    1、按值传递和按引用传递 几乎所有的值传入函数都是按值传递的,但如果是传入对象的话,在函数体内修改对象属性的值的话...

  • c++重要的概念部分

    1. const 修饰指针 2.指针和数组 3.值传递和地址传递(相当于java的引用传递) 值传递:特点 不改...

  • 指针

    指针 数组指针和指针数组 函数指针和指针函数 指针作为参数 指针多用于处理值传递,减少值复制耗费的内存

  • 值传递、地址传递的笔记

    在C语言中,理解值传递、地址传递和引用传递非常重要,首先,我们得来区分一下指针变量、指针地址、指针的值之间的关系。...

  • 函数的参数传递

    按值传递 按值传递:修改形参的值并不会影响实参。但如果传递的是引用类型,形参的值也会影响实参。按引用类型传递:修改...

网友评论

      本文标题:有意思,值传递后,指针访问修改原有的值

      本文链接:https://www.haomeiwen.com/subject/jcsaehtx.html