请问通过a,b = b,a来置换两变量值的方法内部是怎么实现的啊?

dtj12300 · 2017-04-28 07:57:58 · 4229 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-04-28 07:57:58 的主题,其中的信息可能已经有所发展或是发生改变。

如题 , 求大神解答。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4229 次点击  
加入收藏 微博
2 回复  |  直到 2017-05-08 01:24:17
jthmath
jthmath · #1 · 8年之前

x, y = 1+2, 30-2,先把1+2的值计算出来,放在一个地方(记作v1),把30-2的值计算出来,放在一个地方(记作v2),然后把v1里的值给x,把v2里的值给y。

a, b = b, a,先计算b的值(其实就是b),计算a的值,然后还是像上面说的那样,分别扔给a,b

dtj12300
dtj12300 · #2 · 8年之前
jthmathjthmath #1 回复

`x, y = 1+2, 30-2`,先把1+2的值计算出来,放在一个地方(记作v1),把30-2的值计算出来,放在一个地方(记作v2),然后把v1里的值给x,把v2里的值给y。 `a, b = b, a`,先计算b的值(其实就是b),计算a的值,然后还是像上面说的那样,分别扔给a,b

实在不好意思啊,前久项目上太忙了,没时间上来看。 意思就是 它内部有一个相当于中间变量的东西来存储了你说的a,b的值 然后在分别复制。好的,我明白啦,谢谢!

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传