美文网首页Go踩过的坑(杂)
指针调用方法容易犯的错误1

指针调用方法容易犯的错误1

作者: 哥斯拉啊啊啊哦 | 来源:发表于2019-04-16 23:39 被阅读0次

上面的例子中,在指针的方法调用里,只能通过 t.val 的方式来赋值,这样外面才会跟着改变

如果是  将一个 &Test 的地址直接付给 t ,外面的值不会改变。

看下图,解决方法

原因是 t = &Test 是把 t指针 变成指向 &Test 地址的指针,而 &Test 地址在函数调用完就销毁了,t 指回原来的地址,所以外面的值不会变。

而图2是将指针指向地址的值取出来,再将值赋值,这样指针地址不变,外面的值也跟着改变。

也就是在指针调用方法里面,要想改变外面指针的值,有2种方法,(一):  *t = value  (二): t.val = value 这两种方式。

用 t = &value 这种方式,在指针的方法调用中途会改变,但调用结束后还是会变回原来的值,即外面的值不变.

结合https://www.jianshu.com/p/a9a9c05b38d5 里面的(坑4),更好理解,暂时这么理解吧,待续

相关文章

  • 指针调用方法容易犯的错误1

    上面的例子中,在指针的方法调用里,只能通过 t.val 的方式来赋值,这样外面才会跟着改变 如果是 将一个 &Te...

  • Go指针容易犯的错误

    这段代码的输出结果是: go run for-loop.gokaren 因为 fredPtr 在赋值的时候指向的是...

  • [2 array creation] Quickstart tu

    方法一: ⚠️: 容易犯的错误是 >>> a = np.array([1,2,3,4]) ✅>>> b = np...

  • 2018-08-01 三种错误不能犯

    1. 前几天覃老大分享,说了三个错误不能犯: 1.太低级错误不能犯,太容易暴露智商导致没朋友 2.重复的错误不能犯...

  • go为什么调用nil pointer的方法不会报错?

    一个结构体, 具有指针型方法, 但是这个结构体的指针是nil, 调用结构体型方法报错, 调用指针型方法不会报错.较...

  • 第五天

    一、错误处理 1、Error 1.1 2、panic(致命错误:数组越界、空指针等) 2.1 显示调用 2.2 被...

  • 做计划容易犯哪些错误? | 好问题一起答01

    1-做计划容易犯哪些错误?回顾过去,你认为导致自己计划无法顺利完成的原因有哪些? 答:做计划容易犯的错误有,罗列计...

  • 对象的isa指针指向哪里?

    对象的isa指针指向哪里? 1.instance对象的isa指针指向class。当调用对象方法时,通过instan...

  • 如何培养孩子的专注力(三)

    概要:孩子考试时总犯低级错误也是因为专注力不够。三个方法,解决孩子容易犯低级错误的问题。 相信学生家长们都有遇到过...

  • jQuery>ajax方法API

    ajax在jq中封装的函数,AIP。 1.请求加载,错误处理,全局调用方法: 2.请求加载,错误处理,局部调用方法...

网友评论

    本文标题:指针调用方法容易犯的错误1

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