函数声明使用func,例如:
func getColor(colorEnName:String,colorChinaName)->String{
return "this color EnName is \(colorEnName),colorChinaName is \(colorChinaName)"
}
getColor("red","红色")
由此可见,函数参数用户,(逗号)分割参数,:(句号)后面的指定类型,返回类型->符号后面
如果需要返回多个.需要用到元组。
如:
fun getPeople()->(String,Int,String)
{
return ("zlj",35,"very good")
}
getPeople()
函数的参数,可以接受变化,存在一个数组中
fun sumNum(numbers:Int)->Int{
var sum=0
for n in numbers
{
sum+=n
}
}
sumNum(1,20,23)
函数可以嵌套
内嵌函数可以访问函数定义的变量,合理使用内嵌函数可以避免代码过长和复杂
func add(number:Int)->Int{
return number+1
}
func deduct(number:Int)->Int{
return number-1
}
func judge(isadd:Bool)->(number:Int)->Int{
return isadd?deduct : add
}
var max=10
let jugetemp=judge(max>0)
do
{
println(max)
max=jugetemp(max)
}while(max!=0)
嵌套函数(函数中的函数):
func judge(isadd:Bool)->(number:Int)->Int{
func add(number:Int)->Int{
return number+1
}
func deduct(number:Int)->Int{
return number-1
}
return isadd?deduct : add
}
var max=10
let jugetemp=judge(max>0)
do
{
println(max)
max=jugetemp(max)
}while(max!=0)