Swift学习笔记系列——(5)函数

原创 2015年07月09日 18:01:20

Tags: Swift 学习笔记

发布时间:2015-07-09
修改时间:2015-07-09
作者:Erwin
博客地址:技术杂货铺
欢迎转载,转载请注明出处。

Swift学习笔记系列——(5)函数

函数参数和返回值

  • 用元组返回多个值
  • 可选类型作为函数返回值

函数参数名字

内部名字函数内使用
外部名字调用时使用
函数的参数同时有外部名字和内部名字

指定外部参数名称

  • 定义时在内部名字之前写外部名字,需要用逗号分隔
  • 一旦指定了外部名称,调用函数时就必须使用
  • 调用时第一个参数默认省略外部名称

省掉外部参数名称

第二和后续参数用下划线替代外部参数名称,调用时,可以不写外部名称

参数默认值

  • 给参数设置默认值:定义时就给参数赋值
  • 有默认值,调用时可以省略该参数
  • 有默认值的参数要放置在参数列表的后面

可变参数

  • 在参数类型后写三个点
  • 可变参数在函数内部当作Array使用
  • 一个函数只能有一个可变参数,而且只能放置在最后
  • 同时有有默认值的参数和可变参数时,可变参数也放置在最后

常量和变量参数

纯粹是为简化代码书写

  • 默认情况下参数是常量,不可修改,修改会报错
  • 前面加var声明为变量
  • 变量参数相当于定义了一个同名的局部变量,省去了定义的过程

In-Out参数

  • 传递进来的参数可以在函数内被修改,修改影响外部
  • 用inout标记参数
  • inout参数只能传递变量
  • 调用时inout参数时,需要在参数名前加上“&”
  • 使用了inout就不能用let或var了
  • inout参数不能有默认值
  • inout参数不能是可变的

函数类型

函数作为返回值的写法不便阅读,是否可以加括号?

嵌套函数

形成闭包

本章思维导图

这里写图片描述

版权声明:本文为博主原创文章,转载请注明来源。

机器学习基础(林軒田)笔记之五

本文为国立台湾大学林軒田老师机器学习基石课程第五讲的笔记。
  • xiong452980729
  • xiong452980729
  • 2016年07月05日 16:10
  • 736

《从零开始学Swift》学习笔记(Day 40)——析构函数

原创文章,欢迎转载。转载请注明:关东升的博客 与构造过程相反,实例最后释放的时候,需要清除一些资源,这个过程就是析构过程。在析构过程中也会调用一种特殊的方法deinit,称为析构函数。析构函数dein...
  • tonny_guan
  • tonny_guan
  • 2015年11月25日 10:28
  • 1973

Deep Learning(深度学习)学习笔记整理系列之(八)

Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 201...
  • zouxy09
  • zouxy09
  • 2013年04月10日 11:42
  • 169525

Pro Android学习笔记(十三):用户界面和控制(1):UI开发

UI开发 先理清一些UI概念: view、widget、control:这三个名词其实没有什么区别,都是一个UI元素,例如一个button。 Container(容器):包含其他view,例如grid...
  • flowingflying
  • flowingflying
  • 2013年08月13日 21:44
  • 4205

swift学习笔记5 函数

注:英文部分来自官方文档 Every function in Swift has a type, consisting of the function’s parameter types and ...
  • peterchen149
  • peterchen149
  • 2017年04月18日 13:42
  • 126

WebService学习笔记系列(一)

webservice主要是解决两个系统或者两个应用程序之间的远程调用,它提供了一种通过web方式访问的api,调用是跨语言、跨平台的。 webservice的客户端与服务端进行交互的时候使用xml来...
  • u012702547
  • u012702547
  • 2015年05月04日 09:32
  • 6293

C++ Primer(第五版) 学习笔记

C++语言基础: 1. C++11增加了long long 类型,表示最小尺寸为64的整数。 2. 浮点数运算使用double,通常运算速度更快。 3. 超过int容量时使用long long类型,无...
  • zxh2075
  • zxh2075
  • 2016年10月25日 15:56
  • 408

Deep Learning(深度学习)学习笔记整理系列之(一)

Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0  20...
  • zouxy09
  • zouxy09
  • 2013年04月08日 23:35
  • 777746

llvm学习笔记(5)

2.2.4.  匹配模板 在Instruction定义的333行,成员Pattern描述了该指令匹配怎么样的SelectionDAG结构。这是一个list类型,因此存在一条指令匹配多个dag结构的可...
  • wuhui_gdnt
  • wuhui_gdnt
  • 2017年03月24日 11:51
  • 340

机器学习三人行(系列三)---End-to-End机器学习建模

系列二我们详细介绍了数据下载,数据透析以及数据的不同分组方式,详情请戳我!(附上系列二的链接)。但是在真正进行训练之前,我们还需要对数据进行一个预处理。因为有些数据有一些缺失,以及怎么处理分类变量,归...
  • x454045816
  • x454045816
  • 2017年12月24日 21:53
  • 124
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift学习笔记系列——(5)函数
举报原因:
原因补充:

(最多只允许输入30个字)