码迷,mamicode.com
首页 > 编程语言 > 详细

swift的函数

时间:2015-11-03 21:17:41      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

 

这里定义了两个函数,第二个个有参,而且有返回值,返回值用->来分开,第一个是一个普通的函数,没参没返回值。

let a: Int = 5;

func test(){
    print("asdfa");
}
//调用
test() func test1(a: Int)
->Int { return 1 }
//调用
test1(5)

有常量,没有固定参数的函数,参数可变用... 给默认值直接=某个值

//1.有默认值的情况,参数统统都放在后面(参数没有变量的)
//2.调用时参数顺序,尽量与声明函数时的顺序一样

func add(initNum: Int = 0,numbers:Int...)->Int {
    var totals = initNum
    for num in numbers {
        totals += num
    }
    return totals
}


参数是变量,参数是一个相当指针的,引用参数

 

//默认情况,其参数是常量
func vtest( var a: Int) ->Int{
   ///
  
   return (++a)
}
var m = 6
let result = vtest(m)
m

func vtest2( inout a: Int) ->Int{
   ///
   a++
   return a
}
vtest2(&m)
m

 


函数是一等公民,这意味着可以作为另个的返回值。这里返回的是函数里的函数的返回值 

func makeIncrementer() -> (Int -> Int) { 
func addOne(number: Int) -> Int { 
return 1 + number 
} 
return addOne 
} 
var increment = makeIncrementer() 
increment(7)

 

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

这里将lessThanTenchua这个函数 传入函数hasAnyMatches找出小于10的数

func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool { 
for item in list { 
if condition(item) { 
return true 
} 
} 
return false 
} 
func lessThanTen(number: Int) -> Bool { 
return number < 10 
} 
var numbers = [20, 19, 7, 12] 
hasAnyMatches(numbers, lessThanTen)

 

swift的函数

标签:

原文地址:http://www.cnblogs.com/kangniuniu/p/4928505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!