初级会员
  • 第 17710 位会员
  • Aruforce
  • 2018-04-11 15:09:38
  • Offline
  • 23 25

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #3 @taatcc p 是一个指针,*P指向的对象才是数组;
  • 原来是编译器在编译阶段自己做了一些修改操作; var p1 *Person,p1.SetAge2()在编译时会修改成*p1.Clone().SetAge2();//应该是有Clone这一步操作的。 var p2 Person,p2.SetAge()在编译时会修改成&p2.SetAge(); 这不是瞎搞么?在编译后可执行文件和源代码的定义都不一致了;
  • #1 @alphayan 并不是这一段有疑问; 有疑问的地方在:SetAge和SetAge2 按照方法的定义,SetAge 压栈时一部压入 *Person类型,而SetAge2 压栈时必须压入Person类型, 在上面代码person2.SetAge(11)和person3.SetAge2(11)编译或者运行时应该报错,我认为应该报错的原因正如注释缩写; 然而结果却没有,然后就可是迷惑了.
  • 第二点 error 前面有个 星号,怎么星号会被吞掉啊?
  • #4 @Aruforce ``` 1.我省掉 package 这些了; 2.err error 是不是指 err 可以接受error的指针?var err error 编译链接通过,代表可以有error; 3.errors.CustomError 是error子类或者实现了error的全部接口,那么&errors.CustomError 得到的指针 难道不是 *error的类型? 4.err 不能存储 &errors.CustomError ?这合理么? ```