swift 学习之 函数

//

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容