美文网首页
10.函数(function)

10.函数(function)

作者: 木子心语 | 来源:发表于2017-09-28 18:22 被阅读0次
    函数
    • kotlin_函数
    函数是有名字的一段代码
    包含参数和返回值,参数可以有默认值
    
    fun add (x: Int ,y:Int = 0):Int{
        return x + y
    }
    
    fun main(args:Array<String>){
        //调用是可打参数名,可读性更好(但调用java函数无效)
        val b  add(x : 2)
        println(b)
        val a = intArryOf(1,2,3,5,100)
        println(sum (*a))
    }
    //可变参数修饰符vararg
    fun sum(vararg x: Int) : Int{
         var total = 0
         for(i in x){
            total += i
         }
        return total
    }
    
    • swift_函数
    无参数函数
    func helloworld() ->String{
       return "hello,world"
    }
    多参数函数
    func greet(person:String,age:Int) -> String{
       if age >= 20 {
         print(person)
       } else {
          print(person)
       }
    }
    无返回值函数
    func helloWorld(){
       print("helloworld")
    }
    多重返回值函数
    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)
    }
    可选元组返回类型
    func minMax(array: [Int]) -> (min: Int, max: Int)? {
        if array.isEmpty { return nil }
        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)
    }
    函数类型作为参数类型
    func printMathResult(_ mathFunction: (Int, Int) -> Int, 
    _ a: Int, _ b: Int) {
        print("Result: \(mathFunction(a, b))")
    }
    printMathResult(addTwoInts, 3, 5)
    嵌套函数
    func chooseStepFunction(backward: Bool) -> (Int) -> Int {
        func stepForward(input: Int) -> Int { return input + 1 }
        func stepBackward(input: Int) -> Int { return input - 1 }
        return backward ? stepBackward : stepForward
    }
    var currentValue = -4
    let moveNearerToZero = chooseStepFunction(backward: currentValue > 0)
    // moveNearerToZero now refers to the nested stepForward() function
    while currentValue != 0 {
        print("\(currentValue)... ")
        currentValue = moveNearerToZero(currentValue)
    }
    print("zero!")
    

    相关文章

      网友评论

          本文标题:10.函数(function)

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