【发布时间】:2014-10-04 23:27:50
【问题描述】:
我一直在阅读 Apple 在 Swift 上发布的 iBook,目前正在阅读有关函数的内容。在本章中,他们讨论了 inout 关键字。这让我想知道:当参数作为参数传递给函数时,swift 会自动克隆参数吗?如果不是,我是否可以创建一个等于要传递给函数的变量的常量,然后将常量传递给它以避免在我不想的情况下改变变量? ex(顺便说一句,我知道整数是不可变的。我只是使用整数来保持简单。)
var variable: Int = 5
let constant = variable
let returnVale = function(constant)
(对不起,如果这是一个显而易见的答案。我的编程经验很少。)谢谢您的帮助。
【问题讨论】:
-
正如 nhgrif 在非常好的回答中提到的,这里的关键概念是“通过引用”与“通过值”(您的“克隆”)。只要知道这些是标准短语,您就可以在 Swift 中找到关于您的问题主题的大量信息。
-
我还编辑了问题标签以包括“按引用传递”和“按值传递”标签,因此只需单击其中一个,就可能有一些关于该主题的不错的 StackOverflow 阅读这些标签。
标签: parameters swift arguments pass-by-reference pass-by-value