返回多个value
func Myfunc()->(double,double,double)
{
return (3.14,2.33,9.88)
}
动态参数
func Myfunc(numbers:Int...)->Int
{
var sum = 0
for number in numbers
{
sum+=number
}
return sum
}
方法可以嵌套
func Myfunc()->Int
{
var y = 10
Myfunc1()
{
y+=5
}
Myfunc1()
return y
}
可以把函数作为返回值
Myfunc()->(Int->Int)//返回一个参数为Int 返回值为Int的函数;
{
Myfunc1(number:Int)->Int
{
return number+1
}
return Myfunc1
}
函数还可以作为参数
Myfunc(list:Int[],condition:Int->bool)
{
Myfunc1(x:Int)->bool
{
return x>10
}
for item in list
{
if Myfunc1(item)
{
return true
}
}
return false
}
匿名函数用{}包裹 这个我也不是太了解是怎么回事--!
numbers.map({
(number:Int)->Int it
let result = 3*number
return result
})
self等同于我们所熟知的this