美文网首页
swift 学习之 函数

swift 学习之 函数

作者: 沧海一睹 | 来源:发表于2016-10-19 10:38 被阅读0次

    //

    //  main.Swift

    //  Function

    //

    //  Created by Danny Deng on 10/18/16.

    //  Copyright © 2016 QQ 352735640. All rights reserved.

    //

    import Foundation

    /*********************/

    // 1不带参数无返回值的函数

    /*********************/

    func withoutParams() {

    print("Now call withoutParams")

    }

    withoutParams()

    //控制台输出 Now call withoutParams

    /*********************/

    // 2带参数单返回值的函数

    /*********************/

    func withParams(param1 :Int,param2 : Int)->Int {

    return param1 + param2

    }

    let num1 =20

    let num2 =45

    var result =withParams(param1: num1, param2: num2)

    print("withParams the result is\(result)")

    //控制台输出 withParams the result is 65

    /*********************/

    // 3多个返回值的函数

    /*********************/

    func multiReturn(param1:Int, param2: Int) -> (Int,Int,Int) {

    return (param1 + param2,param1 - param2,param1 * param2)

    }

    let (a,b,c) =multiReturn(param1: 23, param2: 56)

    print("a=\(a) b=\(b) c=\(c)")

    //控制台输出 a=79 b=-33 c=1288

    /*********************/

    // 4嵌套函数的函数

    /*********************/

    func innerFunc(para1 :Int) -> Int {

    var value = para1

    func innerAdd() {

    value = value * value

    }

    innerAdd()

    return value

    }

    let innerFuncResult =innerFunc(para1: 34)

    print("innerFunc(para1: 34) =\(innerFuncResult)")

    //控制台输出 innerFunc(para1: 34) = 1156

    /*********************/

    // 5 函数指针

    /*********************/

    //返回值是((Int)->Int),是个函数地址第一个int是参数类型,第二个int是返回值

    func getFuncPointer()->((Int)->Int) {

    func sum(num:Int)->Int{

    return num+num;

    }

    return sum;//返回一个函数地址

    }

    var funcPointer =getFuncPointer();

    //funPointer是个函数指针

    var pointReuslt =funcPointer(23);//函数的形式调用

    print("pointReuslt =\(pointReuslt)")

    //控制台输出 pointReuslt = 46

    func get()->((Int)->String){

    func post(count:Int)->String{

    if count >50 {

    return"success";

    }else{

    return"failed"

    }

    }

    returnpost;

    }

    //函数指针/地址作为参数,函数作为参数传给函数,函数的传递

    let funcPoint =get();//v8拿到的是get()函数的地址

    let PointValue =funcPoint(58);//v9拿到的是get函数的返回值

    print("funcPoint =\(PointValue)")

    //控制台输出 funcPoint = success

    相关文章

      网友评论

          本文标题:swift 学习之 函数

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