(1)一般默认在函数中定义的参数都是常量参数,也就是这个参数你只可以查询使用,不能改变它的值。
(2)如果想要声明一个变量参数,可以在前面加上var,这样就可以改变这个参数的值了。
如:
func getName(var id:String).........
此时这个id值可以在函数中改变。
(3)一般默认的参数传递都是传值调用的,而不是传引用。 所以传入的参数在函数内改变,并不影响原来的那个参数。传入的只是这个参数的副本。
(4)
import Foundation func swapTwoInts(var a:Int,var b:Int){ let t = a a = b b = t } var x = 0,y = 100 println("x = \(x) ;y = \(y)") swapTwoInts(x,y) println("x = \(x) ;y = \(y)")
此时传入的参数是原来值的副本,所以这个函数并不会交换两个值。
修改方法是使用inout关键字:
import Foundation func swapTwoInts(inout a:Int,inout b:Int){ let t = a a = b b = t } var x = 0,y = 100 println("x = \(x) ;y = \(y)") swapTwoInts(&x,&y) println("x = \(x) ;y = \(y)")
这样,两个变量的值就真正改变了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。