您的位置:首页 > 移动开发 > Swift

swift 学习之 函数

2016-10-18 11:03 253 查看
//

//  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 函数