swift 函数(函数定义、函数参数、函数类型、嵌套函数) | 您所在的位置:网站首页 › 函数func的功能是 › swift 函数(函数定义、函数参数、函数类型、嵌套函数) |
函数类型 每个函数都有一个特定的函数类型,由函数的参数类型和返回类型组成 func add(_ a:Int, _ b:Int) -> Int { return a + b }这个函数的类型是: (Int, Int) -> Int, 可以理解为“这个函数类型有俩个Int型的参数并返回一个Int型的值” func sayHI(){ print("sayHI") }这个函数的类型是:() -> (), 可以理解为“这个函数类型没有参数,没有返回值,没有返回值的函数通常会返回void,相当于返回一个空元组” 函数类型的使用 定义一个类型为函数的常量或变量,并将适当的函数赋值给它 func add(_ a:Int, _ b:Int) -> Int { return a + b } var function :(Int,Int)-> Int = add print(function(2,3))定义一个叫做 function 的变量,类型是“一个有两个 Int 型的参数并返回一个 Int 型的值的函数”,并让这个新变量指向 add 函数 函数类型作为参数 定义了 showResult(_:_:_:) 函数,它有三个参数:第一个参数叫fun,类型是 (Int, Int) -> Int,你可以传入任何这种类型的函数;第二个和第三个参数分别是a 和 b,它们的类型都是 Int,这两个值作为已给出的函数的输入值 func showResult(_ fun:(Int,Int)->Int,_ a:Int,_ b:Int) { print(fun(a,b)) } func add(_ a:Int, _ b:Int) -> Int { return a + b } showResult(add(_:_:), 3, 2)showResult(_:_:_:) 函数的作用就是输出另一个适当类型的数学函数的调用结果。它不关心传入函数是如何实现的,只关心传入的函数是不是一个正确的类型。这使得 showResult(_:_:_:) 能以一种类型安全(type-safe)的方式将一部分功能转给调用者实现。 函数类型作为返回值 定义了两个简单函数,分别是 sayHI(_:) 和 sayHello(_:),这两个函数的类型都是 (String) -> String。之后在定义一个 showResult(:) 的函数,它的返回类型是 (String) -> String 类型的函数。showResult(backward:) 根据布尔值来返回 (String) -> String 类型函数 func sayHI(_ name:String) -> String { return "HI \(name)" } func sayHello(_ name:String) -> String { return "Hello \(name)" } func showResult(_ backward: Bool) -> (String) -> String { return backward ? sayHI : sayHello } let show = showResult(true) print(show("world")) log: HI world |
CopyRight 2018-2019 实验室设备网 版权所有 |