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

swift函数

2015-10-02 15:39 423 查看
OC函数

-(返回值类型) 方法名 (参数){

函数的实现部分

}

swift中函数的关键字 叫做 func

func 函数名(参数) -> 返回值类型{

实现部分}

函数的声明与实现部分 ,

func 问候语(name:String,day:String)->String{

return “hello ,(name) ,today is (day)”

}

函数调用

print(问候语(“Lisa”, “星期三”))

1. 元组作为函数返回值

传入一个Int 型的数组,返回最大值,最小值,和、

func 计算(var 数组:[Int])->(max:Int ,min:Int ,sum :Int){
var max = 数组[0]
var min = 数组[0]
var sum = 0
for item in 数组{
if max < item{
max = item
}
if min > item{
min = item
}
sum += item
}
return (max,min,sum)
}


调用这个函数

let 计算结果 = 计算([10,22,54,23,13,67])
print(计算结果)
print("max = \(计算结果.max),min = \(计算结果.min) ,sum = \(计算结果.sum)")


2. swift 函数中可以嵌套函数

func returnFifteen() ->Int{
var ten = 10
func addFive(){
ten += 5
}
addFive()
addFive()
addFive()
return ten
}
print(returnFifteen())


3.函数作为返回值的情况 ( 返回函数的参数列表 ->返回函数的返回值)

func makeFunc()->(Int->Int){
func addFive(a:Int)->Int{
return a+5
}
return addFive
}
var func1 = makeFunc()
print(func1(12))


4.实现makeComputerFunc 这个函数,传入一个 +-*/ 。返回值返回一个函数,调用函数传入两个值,然后返回计算结果

func makeComputerFunc(operation:String)->((Int,Int) -> Int){
switch operation{
case "+":
func add(num1:Int,num2 :Int)->Int{
return num1 + num2
}
return add
case "-":
func sub(num1:Int,num2 :Int)->Int{
return num1 - num2
}
return sub
case "*":
func multi(num1:Int,num2 :Int)->Int{
return num1 * num2
}
return multi
case "/":
func div(num1:Int,num2 :Int)->Int{
return num1 / num2
}
return div
default:
func none(num1:Int,num2 :Int)->Int{
return 0
}
return none
}
}
//在这里func3   ==  sub  这个函数
var func3=makeComputerFunc("+")
print(func3(20,12))


5. 函数作为参数的情况。

第一层函数,参数为一个数组。和一个比较的函数。 返回值是一个bool类型。

比较函数 ,判断第一层函数传入的数组中是否有大于10的数, 如果大于10 返回true ,如果小于10 返回false

func hasAnyMatches(numbers :[Int],condition :(Int)->Bool) ->Bool{
for num in numbers{
if condition(num){
return true
}
}
return false
}
func moreThanTen (num:Int) -> Bool{
if num < 1{9
return true
}else{
return false
}
}
print(hasAnyMatches([2,11,10,10,5,5,3], moreThanTen))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: