• swift的函数


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

    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)
  • 相关阅读:
    制作LiveCD
    ubunt下的MinimalCD
    ArchLinux安装开源VMware Tools
    轻松搭建自己的Linux发行版本
    五个你可能闻所未闻的出色的Ubuntu替代发行版
    arch Linux not found device 错误解决
    Arch linux安装
    VM上成功安装mac os x
    VM8下安装Mac OS X 10.7
    VMwareWorkstation10安装OS_X_Mavericks10.9.2图文详细教程
  • 原文地址:https://www.cnblogs.com/kangniuniu/p/4928505.html
Copyright © 2020-2023  润新知