swift学习记录(func)

      对于函数(func),我只能说swift的func真是无所不能,参数数量可以不固定、可以返回函数类型、用函数做参数等等。下面就来看看做这些例子。

// Playground - noun: a place where people can play


import Cocoa

//函数定义

func greet(name:String, day: String) ->String {

    return"Hello \(name), today is \(day)."

}

greet("Bob","Tuesday")

//返回多个

func getGasPrices() -> (Double,Double, Double) {

    return (3.59,3.69, 3.79)

}

getGasPrices()

//参数数目不固定

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

   var sum = 0

   for nb in numbers {

        sum += nb

    }

   return sum

}

sumOf()

sumOf(42,548,325)

    

    

    

//函数可以当作参数传入另一个函数 例句中参数list是这么写的:list:Int[],但是我发现不行,就改成来list:Array<Int>,不知道是不是小bug。

// 后来发现是数组定义方式改变,list:Int[]应写为list:[Int]。总觉得看着怪怪的,好的,它又给我移植带来了不便!

func hasAnyMatches(list:Array<Int>,condition:Int -> Bool) ->Bool {

       for item in list {

           if condition(item) {

               return true

            }

        }

    returnfalse

}

func lessThanTen(number:Int) -> Bool {

   return number < 10

}

var numbers = [20,19,2,6]

hasAnyMatches(numbers,lessThanTen)

                

//函数可以返回一个函数

func makeIncrementer() -> (Int ->Int) {

   func addOne(number: Int) -> Int {

   return 1 + number

    }

    returnaddOne

}

var increment =makeIncrementer ()

increment(7)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值