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

swift2.0 学习笔记Three

2016-04-26 18:49 483 查看
func whoismine(name:String,age:Float)->String{

return
"my name is \(name),my age is
\(age)."

}

let aa=whoismine("DLG", age: 100)

print(aa)
//my name is DLG,my age is 100.0.

func StatisticScore(scores : [Float])->(min:Float,max:Float,sum:Float){

var min=scores[0]

var max=scores[0]

var sum :Float=0

for myscore
in scores{

if myscore > max{

max=myscore

} else
if myscore < min{

min = myscore

}

sum += myscore

}

return (min, max, sum)

}

//元组是多个值组合而成的复合值。元组中的值可以是任意类型,而且每一个元素的类型可以是不同的。

let statistic =
StatisticScore([12,50,100,33,60])

print(statistic.min)//12.0

print(statistic.max)//100.0

print(statistic.sum)//255.0

print(statistic.2)//255.0

func sum(numbers:Int...)->Int{

var mysum=0

for number
in numbers{

mysum += number

}

return mysum

}

//函数可以带有可变个数的参数,这些参数在函数内表现为数组的形式:

let allsum:Int =
sum(24,42,24)

print(allsum)//90

func QTTest()->Int{

var y=10

func add(){

y+=10

}

add()

return y

}

//函数可以嵌套。被嵌套的函数可以访问外侧函数的变量

let a = QTTest()

print(a) //20

func QTTest2()->(Int ->Int){

func add(var number:Int)->Int{

return ++number

}

return add

}

//函数可以作为另一个函数的返回值

let myfunc =
QTTest2()

let myresult=myfunc(7)

print(myresult)
//8

func hasAnyMatchs(list:[Int],condition:Int ->Bool)->Bool{

for item in list{

if condition(item)

{

return
true

}

}

return
false

}

func mycondition(number:
Int)->Bool{

return number > 66

}

//函数也可以当做参数传入另一个函数。

let hasyournum =
hasAnyMatchs([12,50,80,40], condition: mycondition)

print(hasyournum)
//true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: