美文网首页
swift--函数

swift--函数

作者: 宇亭 | 来源:发表于2017-03-31 10:16 被阅读0次

    1.函数基本写法:

    swift里面的函数就相当于是oc里面的方法,以func开头

    事例: func 函数名 (参数..) ->返回值类型{

    // 具体的函数内容

    }

    2. 常见的函数的类型:

    // 表示无参,无返回值的函数

    //func sum () ->Void{

    //

    //}

    // 无返回值的函数就相当于是一个空的元组类型,所以void也可以使用()代替

    //func sum () ->(){

    //

    //}

    // 没有返回值,返回值也可以直接省略不写

    //func sum (){

    //

    //}

    // 有参,无返回值

    //func sum(a: Int){

    //

    //}

    // 有参, 有返回值

    func sum(a: Int) -> Int{

    return a

    }

    // 返回多个参数的特例

    func sum() -> (String, Int, Double){

    let tuple = ("小明", 18, 1.75)

    return tuple

    }

    3. 函数的使用注意

     1.内部参数和外部参数:在函数内部使用的参数叫做内部参数,在函数外部调用传递的擦桉树叫做外部参数

    func test(a: Int, b: Int) -> Int{

    // a和b在这里表示内部参数

    return a + b

    }

    // 这里的a和b表示外部参数

    test(a: 1, b: 3)

    2. 参数定义别名

    在函数的参数前申明一个别名,当函数外部在调用的时候就可以使用这个别名,有组于函数外界使用的理解

    事例:

    func test(aa a: Int, bb b: Int) -> Int{

    // a和b在这里表示内部参数

    return a + b

    }

    test(aa: 2, bb: 7)

    3. 参数忽略

    在函数的参数前使用_表示,在函数的外部调用这个函数式这个参数就可以被忽略

    事例:

    func test(_ a: Int, bb b: Int) -> Int{

    // a和b在这里表示内部参数

    return a + b

    }

    test(0, bb: 1)

    4. 默认参数

    在定义参数的时候,有时候我们可以给一个参数添加一个默认值,当外界不给我传递这个参数值的时就可以使用这个参数的默认值

    事例:

    func test(aa a: Int, bb b: Int = 1) -> Int{

    // a和b在这里表示内部参数

    return a + b

    }

    test(aa: 1)

    5. 参数的地址传递

    在函数内部, 默认接收到参数被赋值给一个常量,在swift3.0中, 如果想要改变, 需要在函数内部使用var修饰

    事例:

    func test(a: Int){

    var a = a

    a = 666

    print(a)

    }

    var num = 99

    test(a: num)

    如果我们不想通过在函数内部用var去定义一个变量去过度修改,也可以通过传递参数地址的形式使用inout关键字去修改参数

    事例:

    func test(a: inout Int){

    a = 666

    print(a)

    }

    var num = 99

    test(a: &num)

    5. 可变参数

    顾名思义: 外部调用函数的时候参数可以传递任意多个, 内部可以把内部参数当着数组去使用,

    事例:

    func test(nums: Int...) -> Int{

    var result: Int = 0

    for num in nums {

    result += num

    }

    return result

    }

    test(nums: 1, 1, 2, 4, 4, 6, 4)

    相关文章

      网友评论

          本文标题:swift--函数

          本文链接:https://www.haomeiwen.com/subject/lrimottx.html