美文网首页
Swift-函数

Swift-函数

作者: tp夕阳武士 | 来源:发表于2018-06-06 11:07 被阅读10次

    1.函数的定义和调用

    定义一个函数时,可以定义一个或多个有名字和类型的值,作为函数的输入,称为参数,也可以定义某种类型的值作为函数执行结束时的输出,称为返回类型.
    每一个函数都有函数名,在为一个函数起名字时,最好结合此函数的实现时间让其达到顾名思义的效果.

    //代码案例
    func greet(person: String) -> String {
        let greeting = "Hello, " + person + "!"
        return greeting
    }
    /*上面这个函数的函数名字是: greet(person:) , func 是这个函数的前缀 ,  
    -> 后面接着的是表示函数需要返回一个 String类型的值
    如果要使用此函数,必须为其传入一个String类型的实参
    在函数运行的最后需要返回一个String类型的返回值*/
    

    2.多重返回值

    Swift中,我们可以使用元组来实现在一个函数中返回多个值

    func minMax(array: [Int]) -> (min: Int, max: Int) {
        var currentMin = array[0]
        var currentMax = array[0]
        for value in array[1..<array.count] {
            if value < currentMin {
                currentMin = value
            } else if value > currentMax {
                currentMax = value
            }
        }
        return (currentMin, currentMax)
    }
    

    4 inout 关键字

    inout关键字就好比OC中的传入一个参数的指正一样

    //定义一个函数,其传入参数用inout 标记
    func swapTwoInts ( _ a : inout Int , _ b: inout Int ) -> (){
          let c = a
          a = b
          b = c
    }
    
    //假设在程序某处调用了此函数 
       let a  = 1 
       let b  = 2 
       swapTwoInts(a,b)
       printf(a,b) //输出 2 , 1
    
    

    5 嵌套函数

    //一般情况下我们都会把函数定义在全局域内(全局域就是每一个文件的最外层的 { } 之间的位置 )
    //但是其实Swift其实允许我们在函数的内部再定义一个函数,并且在这个局部函数定义的新函数可以作为原函数的返回值
    //我们称这种写法叫做:嵌套函数
    
    func dmeo1 ( condition:Bool ) -> (Int) - (Int) {
        func dmeo2 (input: Int) -> Int { return input + 1 }
        func dmeo3 (input: Int) -> Int { return input - 1 }
        return condition ? stepBackward : stepForward
    }
    /*此函数的意思是  demo1 函数通过其传入的条件参数:condition 
    进行判断来决定返回另外一个函数,
    但是此函数必须是一个指定的格式 : (Int) -> (Int) */
    
    

    相关文章

      网友评论

          本文标题:Swift-函数

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