zoukankan      html  css  js  c++  java
  • swift学习笔记之—自定义函数的规则说明

    原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_517.html

    1,无返回值的函数

    func test(name:String){
     
    }

    2,返回一个返回值

    func test(name:String) -> Bool{
        return true
    }

    3,返回由多个值组成的复合返回值

    func test(name:String) -> (Int,Bool){
        var position = 1
        var visible = false
        return (position,visible)
    }

    4,可变形参:可以接受0个或者任意数量的输入参数

    func test(numbers:Int...) -> Int{
        var count:Int = 0
        for number in numbers{
            count += number
        }
        return count
    }

    6,如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”

    var age = 22
    add(&age)
    print(age) //23
     
    func add(inout age:Int){
        age += 1
    }

    7,可以使用函数类型的参数

    func additive(a:Int, b:Int) -> Int{
        return a + b
    }
     
    //函数类型的参数
    func printAdditiveResult(addFun: (Int, Int) -> Int, a:Int, b:Int){
        print("Result:(addFun(a,b))")
    }
     
    printAdditiveResult(additive, a: 5 ,b: 7)

    8,也可以使用函数类型的返回值

    //定义个自增函数
    func increase(input:Int) -> Int{
        return input + 1
    }
     
    //定义个自减函数
    func reduce(input:Int) -> Int{
        return input - 1
    }
     
    //定义一个返回函数类型的函数
    func chooseFunction(backwards:Bool) -> (Int) -> Int{
        return backwards ? reduce : increase
    }
     
    //测试
    let aFun = chooseFunction(3>2)
    print(aFun(3))  //2

    注:笔记仅作学习记录只用!

  • 相关阅读:
    Python面向对象
    Python函数
    Linux之路
    Python之路
    函数
    动态参数
    python模块的运行机制以及time模块格式转换
    Python PEP8代码规范_20180614
    Oracle 分页查询方法和效率分析
    oracle 12c数据库启动(包含CDB和PDB)以及常见异常处理
  • 原文地址:https://www.cnblogs.com/hero11223/p/5664278.html
Copyright © 2011-2022 走看看