swift学习笔记->函数
2015-11-16 20:27
239 查看
这一章来看看swift的函数声明与调用
函数声明 func 函数名(参数)->返回类型{函数代码块}
我们来声明一下
函数基本的四个类型就是这样,很简单
来看看swift特殊的地方
外部名
当swift函数有多个参数时写法与其他语言有所区别
注意下 这里调用时有什么不同? 多了个b: 对,这就是外部名这个外部名是可变的,针对的是调用者而言 你可以把b改成s或任意变量名(符合变量命名规范)
这样就把外部名改成了s 第一个变量是不用外部名的,当然你也可以给他加一个 就像刚才给b的变量名改成s一样
默认值
这个就是字面上意思 参数有一个默认值,声明函数的时候设置
如果这个函数参数声明了默认值 则会有这么多种调用方式(没给的参数则会用默认的)
这里注意几点
1.有默认值的情况,参数统统都放在后面
2.调用时参数顺序,尽量与声明函数时的顺序一样
修饰
默认情况下形参参数类型是let常量,如果需要修改则自行加上var
如果需要引用传值则加inout
可变参数长度
写法如上第二个参数,不管多少个int类型参数都会集合起来作为numbers数组
函数声明 func 函数名(参数)->返回类型{函数代码块}
我们来声明一下
//无参无反 func test(){ print("asdfa"); } //有参有反 func test1(a:Int)->Int{ return ++a } //有参无反 func test2(a:Int){ print(a) } func test(a:Int)->Void{ print(a); } //无参有反 func test()->Int{ return 1 }
函数基本的四个类型就是这样,很简单
来看看swift特殊的地方
外部名
当swift函数有多个参数时写法与其他语言有所区别
func test5(a: Int ,b:Int) ->Int { return a+b } test5(5, b: 3)
注意下 这里调用时有什么不同? 多了个b: 对,这就是外部名这个外部名是可变的,针对的是调用者而言 你可以把b改成s或任意变量名(符合变量命名规范)
func test5(a: Int ,s b:Int) ->Int { return a+b } test5(5, s: 3)
这样就把外部名改成了s 第一个变量是不用外部名的,当然你也可以给他加一个 就像刚才给b的变量名改成s一样
默认值
这个就是字面上意思 参数有一个默认值,声明函数的时候设置
func test6(a: Int = 5,b:Int = 5) ->Int { return a+b } test6() test6(5) test6(b: 3) test6(5, b: 3)
如果这个函数参数声明了默认值 则会有这么多种调用方式(没给的参数则会用默认的)
这里注意几点
1.有默认值的情况,参数统统都放在后面
2.调用时参数顺序,尽量与声明函数时的顺序一样
修饰
默认情况下形参参数类型是let常量,如果需要修改则自行加上var
如果需要引用传值则加inout
fun test7(a:Int){ //a=3(报错) print(a) } fun test8(var a:Int){ a=3 print(a) } fun test8(inout a:Int){ a=3 print(a) } var a = 5 test8(a) a
可变参数长度
func add(initNum: Int,numbers:Int...)->Int { var totals = initNum for num in numbers { totals += num } return totals } add(5,numbers: 6) add(6,numbers:2,4,3)
写法如上第二个参数,不管多少个int类型参数都会集合起来作为numbers数组
相关文章推荐
- swift泛型的5个要点和代码
- Swift -1 语言基础
- swift学习笔记->基础类型
- Swift学习,常量与变量(二)
- swift语言之多线程操作和操作队列(下)———坚持51天吃掉大象(写技术文章)
- iOS.swift textfield中光标初始位置
- 《从零开始学Swift》学习笔记(Day 36)——静态方法
- 《从零开始学Swift》学习笔记(Day 36)——静态方法
- 奔五的人学iOS:swift获取连接的wifi名称及ap的mac地址
- swift之控制转移语句,continue,break,fallthrough,return,带标签的语句
- swift之switch续(元组,值绑定,where)
- swift语言之多线程操作和操作队列(上)———坚持51天吃掉大象
- Swift中数组(Arrary)及成员方法介绍
- Swift(二十四、访问权限)
- Swift(二十三、泛型)
- Swift(二十二、协议(2))
- Swift(二十一、协议(1))
- swift:无限图片轮播器
- Swift中实现可比较协议
- SWIFT——闭包表达式