您的位置:首页 > 移动开发 > Swift

swift学习笔记->函数

2015-11-16 20:27 239 查看
这一章来看看swift的函数声明与调用

函数声明 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数组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: