初级会员
  • 第 15351 位会员
  • Prnyself
  • Lance
  • 2018-01-09 18:54:46
  • Offline
  • 42 6

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 啥公司,在哪
  • Go的函数都是值传递,切片也一样 不同的是,切片的结构可以理解为是包含了指向底层数组的指针 所以看你另一个帖子里修改nums[0]就可以生效,而这里你在函数内对nums重新赋值,相当于是在新的nums里做操作,不影响原值 可以参考一下 https://blog.csdn.net/yuanlaidewo000/article/details/81133350
  • #13 @Leigg 也是会变的 但是官方说的确实是函数调用都是传值 我的理解是像map,slice这种“引用类型” (map 是 引用类型 的: 内存用 make 方法来分配 // 实战圣经8.1节),在修改了之后底层结构会变,所以可能重新调整了之后又赋值给a,所以a的地址发生了变化,不知道对不对希望能帮到你
  • 不对啊。。。你一个是a,一个是&a 你想表述的应该是把alter函数的a改为&a吧
  • 以值为接收者的方法被调用时,接收者既能为值又能为指针。 我之前记的这句话,但是不记得在哪本书里了 - - 所以func (ts TestS)SayHello() 在调用时候&TestS{}可以自动解析为*(&TestS{}) 也就满足了接口的定义 但是如果方法的接收者是指针的话,应该就不能自动解析了吧。所以接口赋值报错。 所以应该是为了写的时候方便,这是我自己的理解,希望能够帮到你