总结了一下Swift中的函数使用一共可以分为七类
1 ---- 没有返回值,没有参数的函数
2 ---- 有参数和返回值的函数
3 ---- 使用元祖来返回多个值
4 ---- 参数是可变的
5 ---- 函数的嵌套
6 ---- 函数可以作为另一个函数的返回值
7 ---- 函数可以作为参数
具体分析如下面代码所示
// 1 ---- 没有返回值,没有参数的函数 func function1() { println("----in function1----") } //调用函数 function1() // 2 ---- 有参数和返回值的函数 func function2(name:String,age:Int)->String{ println("----in function2----") return "name \(name),age \(age)" } //调用函数 println(function2("jhon",22)) // 3 ---- 使用元祖来返回多个值 func function3()->(Int,Int,Int){ println("----function3----") return (1,2,3) } //调用函数 println(function3()) // 4 ---- 参数是可变的 func functionsum4(numbers:Int...)->Int{ println("----in functionsum4----") var sum = 0 for number in numbers{ sum += number } return sum } //调用函数 println("sum is \(functionsum4(1))") println("sum is \(functionsum4(1,2))") println("sum is \(functionsum4(1,2,3))") // 5 ---- 函数的嵌套 /* 说明:被嵌套的函数可以访问外侧函数变量 */ func function5()->Int{ println("-----in function5-----") var m = 5 func sum(){ m += 1 } sum() return m } //调用函数 println("function5 is \(function5())") // 6 ---- 函数可以作为另一个函数的返回值 func function6()->(Int->Int){ println("----int function6 ----") func sum(numbers:Int)->Int{ return numbers+1 } return sum } //获取外侧函数的值 var values = function6() //values(1)对内侧函数进行传参数 println("sum is \(values(1))") // 7 ---- 函数可以作为参数 func function7(number:Int[],contion:Int->Bool)->Bool{ for numbers in number{ if contion(numbers) { println("----true") return true } } return false } func choosefunc(number:Int)->Bool{ return number<10 } var number = [1,2,3,4] function7(number,choosefunc) println("result is \(function7(number,choosefunc))")
打印结果
----in function1----
----in function2----
name jhon,age 22
----function3----
(1, 2, 3)
----in functionsum4----
sum is 1
----in functionsum4----
sum is 3
----in functionsum4----
sum is 6
-----in function5-----
function5 is 6
----int function6 ----
sum is 2
----true
----true
result is true
Swift学习——函数的使用和分类(四),布布扣,bubuko.com
时间: 2024-10-11 00:26:05