【发布时间】:2019-09-28 21:05:35
【问题描述】:
我从here知道:
Julia 函数参数遵循有时称为“传递共享”的约定,这意味着在将值传递给函数时不会复制它们。函数参数本身充当新的变量绑定(可以引用值的新位置),但它们引用的值与传递的值相同。在函数内对可变值(例如数组)所做的修改将对调用者可见。这与 Scheme、大多数 Lisps、Python、Ruby 和 Perl 以及其他动态语言中的行为相同。
鉴于此,我很清楚,要通过引用传递,您需要做的就是拥有一个可变类型,将其传递给函数并进行编辑。
然后我的问题就变成了,我怎样才能清楚地区分值传递和引用传递?有没有人有一个例子显示一个函数被调用了两次?一次通过引用传递,一次通过值传递?
我看到this post 暗示了一些类似的想法,但它并没有完全回答我的问题。
【问题讨论】:
标签: julia