Swift函数和闭包

函数

  Swift
使用func关键字声明函数:


1 func greet (name: String, day: String) -> String {
2 return "Hello \(name), today is \(day)."
3 }
4 greet ("Bob", "Tuesday")

通过元组(Tuple)返回多个值:


1 func getGasPrices () -> (Double, Double, Double) {
2 return (3.59, 3.69, 3.79)
3 }
4 getGasPrices ()

支持带有变长参数的函数:


1 func sumOf (numbers: Int...) -> Int {
2 var sum = 0 for number in numbers {
3 sum += number
4 }
5 return sum
6 }
7 sumOf ()
8 sumOf (42, 597, 12)

函数也可以嵌套函数:


1 func returnFifteen () -> Int {
2 var y = 10
3 func add () {
4 y += 5
5 }
6 add ()
7 return y
8 }
9 returnFifteen ()

作为头等对象,函数既可以作为返回值,也可以作为参数传递:


1 func makeIncrementer () -> (Int -> Int) {
2 func addOne (number: Int) -> Int {
3 return 1 + number
4 }
5 return addOne
6 }
7 var increment = makeIncrementer ()
8 increment (7)


 1 func hasAnyMatches (list: Int[], condition: Int -> Bool) -> Bool {
2 for item in list {
3 if condition (item) {
4 return true
5 }
6 }
7 return false
8 }
9 func lessThanTen (number: Int) -> Bool {
10 return number < 10
11 }
12 var numbers = [20, 19, 7, 12]
13 hasAnyMatches (numbers, lessThanTen)

闭包

  本质来说,函数是特殊的闭包,Swift
中可以利用{}声明匿名闭包:


1 numbers.map ({
2 (number: Int) -> Int in
3 let result = 3 * number
4 return result
5 })

当闭包的类型已知时,可以使用下面的简化写法:


1 numbers.map ({ number in 3 * number })

此外还可以通过参数的位置来使用参数,当函数最后一个参数是闭包时,可以使用下面的语法:


1 sort ([1, 5, 3, 12, 2]) { $0 > $1 }

Swift函数和闭包,布布扣,bubuko.com

时间: 2024-08-06 11:56:57

Swift函数和闭包的相关文章

Swift函数与闭包

1.Swfit语法中使用func关键字来申明函数 func sayHi(){ println("Hi !") } 结果显示:Hi ! 2.带参数和返回值函数,参数为String,返回值为String的函数 func sayHiToPerson(personName:String) ->String{ return "Hi ! " + personName; } println(sayHiToPerson("Girl")) 结果显示:Hi !

4 .Swift函数|闭包

在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Swift中函数的表现形式如下: 1. func 函数名(参数名1:参数类型,参数名2,参数类型)->返回值类型 {函数的实现部分} func sayHello()->Void { print("hello world") } //有参数,有返回值, func sayHello2(

Swift:函数和闭包

函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样有函数的参数和返回值,而且还支持嵌套,并且有函数参数默认值.可变参数等. 1 //定义一个函数,注意参数和返回值,如果没有返回值可以不写返回值或者写成Void.空元组()(注意Void的本质就是空元组) 2 func sum(num1:Int,num2:Int)->Int{ 3 return num1 + num2 4 } 5 6 sum(1, 2) 可以看到Swift中的函数仅仅表示形式有所区别(定义类似于Ja

窥探Swift之函数与闭包的应用实例

今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实例中回类比一下Objective-C中的函数的写法等等.Swift中的函数还是有许多好用的特性的,比如输入参数,使用元组返回多个值, 定义形参名,设定默认参数以及可变参数等等一些好用的特性.而在Swift中的闭包就是Objective-C中的Block, 除了语法不通外,两者的用法是一样的.废话少说

Swift函数闭包

一.闭包的概念 计算机语言要支持闭包的前提条件有2个: 1.支持函数类型,能够将函数作为参数或返回值传递: 2.支持函数嵌套 示例: func caculate(opr : String)->(Int,Int)->Int { var result:(Int,Int)->Int switch(opr){ case "+": result={(a:Int,b:Int)->Int in return a+b } default: result = {(a:Int,b:

Swift 1.1语言第7章 函数和闭包

Swift 1.1语言第7章  函数和闭包 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护.为 了解决这个问题,人们提出了函数这一概念.使用函数可以将特定功能的代码封装,然后在很多的地方进行使用.本章将会讲解函数和闭包的相关内容.本文选自<Swift 1.1语言快速入门> 7.1  函数介绍 函数是执行特定任务的代码块.使用函数会给开发这带来很多的好处.以下总结了其中两点. 1.结构鲜明,便于理解 如果在一

Swift中文教程(四)--函数与闭包

原文:Swift中文教程(四)--函数与闭包 Function 函数 Swift使用func关键字来声明变量,函数通过函数名加小括号内的参数列表来调用.使用->来区分参数名和返回值的类型: 1 func greet(name: String, day: String) -> String { 2 return "Hello \(name), today is \(day)." 3 } 4 greet("Bob", "Tuesday")

swift基础语法三(函数与闭包)

1 // Playground - noun: a place where people can play 2 3 import Cocoa 4 //函数和闭包 5 6 //函数,使用func关键字声明函数: 7 func greet(name:String, day:String) -> String { 8 return "Hello \(name), today is \(day)." 9 } 10 greet("Bob", "Tuesday&

苹果新的编程语言 Swift 语言进阶(六)--函数和闭包

一 .函数 1.1. 函数的定义和调用 函数的定义以func关键字作为前缀,接着是函数名字,接着跟着一个可以带有参数,也可以不带参数的圆括号,接着用-> 指示函数的返回类型.函数执行体用一对大括号{}包围.如下定义了一个函数名为sayHello的函数,该函数包含一个名字为personName,类型为String的输入参数. func sayHello(personName:String) -> String { let greeting ="Hello, " +person