最新回答 / 猛猛小蚂蚁
这个打印结果直觉上是34,但其实是33,为什么?对于值类型方法来说,接受的标识符是值的一个拷贝的副本,不是值本身。执行Grow方法的person.Age++语句,会使副本的Age值变为34,但是打印的p的Age还是33(因为他们两个并不是一个实例,另一个只是个副本)。当我们把Grow方法变成指针方法后,打印的值就变成34了,因为此时传递的值是指针的副本,指针的副本任然指向p的值。所以累加操作会作用到person.Age上。https://blog.csdn.net/weixin_33807284/arti...
2019-06-26
for i, v := range map1{
fmt.Printf("%d: %s\n", i, v)
}这样好像更简洁吧
fmt.Printf("%d: %s\n", i, v)
}这样好像更简洁吧
2019-05-29
最新回答 / 大胖疯子
myChannel只是通道,给里面放什么值,他就是什么值,非缓冲通道当数据被消费后才能继续执行send后的程序护着继续send值进通道,值没有被消费通道就是阻塞的
2019-05-27
指针 复杂,
切片 与 数组 的 cap 很易出错,
字典 判断 key 是否存在 也复杂,
Go,你的简单易读性 在 哪里?还是 java 简单
切片 与 数组 的 cap 很易出错,
字典 判断 key 是否存在 也复杂,
Go,你的简单易读性 在 哪里?还是 java 简单
2019-05-02