苹果Swift编程语言入门教程【中文版】2

  5 函数与闭包

  使用 func 声明一个函数。调用函数使用他的名字加上小括号中的参数列表。使用 -> 分隔参数的名字和返回值类型。

  func greet(name: String, day: String) -> String {

  return "Hello \(name), today is \(day)."

  }

  greet("Bob", "Tuesday")

Note

练习

去掉 day 参数,添加一个参数包含今天的午餐选择。

  使用元组(tuple)来返回多个值。

  func getGasPrices() -> (Double, Double, Double) {

  return (3.59, 3.69, 3.79)

  }

  getGasPrices()

  函数可以接受可变参数个数,收集到一个数组中。

  func sumOf(numbers: Int...) -> Int {

  var sum = 0

  for number in numbers {

  sum += number

  }

  return sum

  }

  sumOf()

  sumOf(42, 597, 12)

Note

练习

编写一个函数计算其参数的平均值。

  函数可以嵌套。内嵌函数可以访问其定义所在函数的变量。你可以使用内嵌函数来组织代码,避免过长和过于复杂。

  func returnFifteen() -> Int {

  var y = 10

  func add()

  {

  y += 5

  }

  add()

  return y

  } //by gashero

  returnFifteen()

  函数是第一类型的。这意味着函数可以返回另一个函数。

  func makeIncrementer() -> (Int -> Int) {

  func addOne(number: Int) -> Int {

  return 1 + number

  }

  return addOne

  }

  var increment = makeIncrementer()

  increment(7)

  一个函数可以接受其他函数作为参数。

  func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool {

  for item in list {

  if condition(item) {

  return true

  }

  }

  return false

  }

  func lessThanTen(number: Int) -> Bool {

  return number < 10

  }

  var numbers = [20, 19, 7, 12]

  hasAnyMatches(numbers, lessThanTen)

  函数实际是闭包的特殊情况。你可以写一个闭包而无需名字,只需要放在大括号中即可。使用 in 到特定参数和主体的返回值。

  numbers.map({

  (number: Int) -> Int in

  let result = 3 * number

  return result

  })

Note

练习

重写一个闭包来对所有奇数返回0。

  编写闭包时有多种选项。当一个闭包的类型是已知时,例如代表回调,你可以忽略其参数和返回值,或两者。单一语句的闭包可以直接返回值。

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

  你可以通过数字而不是名字来引用一个参数,这对于很短的闭包很有用。一个闭包传递其最后一个参数到函数作为返回值。

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

苹果Swift编程语言入门教程【中文版】2

时间: 2024-10-12 03:34:19

苹果Swift编程语言入门教程【中文版】2的相关文章

苹果Swift编程语言入门教程【中文版】

目录 1 简介 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简介 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的功能来是的编程更加简 单.灵活和有趣.界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向. Swift已经存在了多年.Apple基于已有的编译器.调试器.框架作为其基础架构.通过ARC(Aut

苹果Swift编程语言入门教程【中文版】3

6 对象与类 使用 class 可以创建一个类.一个属性的声明则是在类里作为常量或变量声明的,除了是在类的上下文中.方法和函数也是这么写的. class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } Note 练习 通过 "let" 添加一个常量属性,以及添加另一个方法能接受

Swift初体验之HelloWord+苹果Swift编程语言入门教程【中文版】

AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.swift // SwiftHelloWord // // Created by jason on 14-6-5. // Copyright (c) 2014年 JasonApp. All rights reserved. // import UIKit @UIApplicationMain class AppD

Swift初体验之HelloWord+苹果Swift编程语言新手教程【中文版】

AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.swift // SwiftHelloWord // // Created by jason on 14-6-5. // Copyright (c) 2014年 JasonApp. All rights reserved. // import UIKit @UIApplicationMain class AppD

苹果Swift编程语言新手教程【中国版】

Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广大开发人员来说,这无疑是一剂难以抗拒的兴奋剂.希望苹果Swift编程语言新手教程[中文版],能助你更迅速掌握好它. 注:本文从苹果官方所公布的书籍<The Swift Programming Language>中摘录和提取而成. 希望对各位的iOS&OSX开发有所帮助.[苹果官方教程下载地

Apple Swift编程语言入门教程

目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的

Swift编程语言入门教程

目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的

Swift 编程语言入门教程

今天在网上看到一篇非常好的教程,分享给大家 原文地址:http://gashero.iteye.com/blog/2075324 目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和

[转]Swift 编程语言入门教程

今天在网上看到一篇非常好的教程,分享给大家 原文地址:http://gashero.iteye.com/blog/2075324 目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和