【Swift初见】Swift函数(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weasleyqi/article/details/43940963

在任何语言中,函数都是非常重要的,今天我们就来初步的学习下Swift中的函数。

1、Swift函数默认参数:

①、可以放在函数的任意位置;

②、外部名称与内部名称一致;

③、调用的时候可以不写;

④、在函数定义时传入参数里定义好。

func joinString(s1: String , toString s2: String , joiner s3 : String = "*") -> String{
    return s1 + s3 + s2
}
let str = joinString("Hello", toString: "World", joiner: "#")
println(str)


从上面的代码可以看出,joiner是定义好的一个默认参数,我们在调用的时候可以写也可以不写,看下面的代码:

func joinString(s1: String , toString s2: String , joiner : String = "*") -> String{
    return s1 + joiner + s2
}
let str = joinString("Hello", toString: "World", joiner: "#")
println(str)


此时的joiner既是外部参数也是内部参数,相当于我们在joiner前面加了#号。


2、Swift输入输出函数(inout)

func swap(var a: Int, var b: Int){
    let t = a
    a = b
    b = t
}
var x = 10
var y = 19
swap(x, y)
println("\(x) , \(y)")


从上面的代码输出可以看出,x和y的值实际并没有改变,这就是我们认识的一个误区,swap的参数实际是实参,就相当于我们输入了2个整数而已,而实际上x和y的值并没有被改变,那如果我们需要改变x和y的值,那我们就该传入x和y的地址。

func swap(inout a: Int, inout b: Int){
    let t = a
    a = b
    b = t
}
var x = 10
var y = 19
swap(&x, &y)
println("\(x) , \(y)")


从上面的代码可以看出,当我们需要改变变量的实际值得实惠,我们在函数调用的时候就应该使用输入输出函数(inout),在调用函数的时候也要加上&符号。


结论:当我们需要在函数内部修改函数外部值得时候,我们需要在函数形参位置改为inout参数,调用函数的时候要取地址。






猜你喜欢

转载自blog.csdn.net/weasleyqi/article/details/43940963