常量参数、变量参数和inout参数

默认情况下,如果声明函数的时候,参数的不指明是变量还是常量,则默认是常量的。如果要在函数中做相应改变参数的操作,则需要在声明参数的类型。如下:

//将一个十进制转换为二进制
func toBinary(var number:Int)->String{
    var result : String = ""
    while number != 0 {
        result = String(number%2) + result
        number /= 2
    }
    return result
}
var number = 10
toBinary(number)//"1010"
number//10

此时,传入函数的参数的数值不变,说明传入函数的参数,传的是一个数值的副本,而不是传引用。进过运算后,不会改变原有的参数的大小,而是改变该参数的副本的大小。而在Swift语言中,不管是传的是int string 还是数组,字典,元组,都是传数值,不是传引用。

如果确实需要使得调用前的数值发生变化,则需要用到inout

func swapTwoInts(inout a :Int,inout b:Int){
    let t = a
    a = b
    b = t
}
var x = 0,y = 100
x//0
y//100

swapTwoInts(&x, &y)
x//100
y//0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值