• swift学习笔记->函数


    这一章来看看swift的函数声明与调用

    函数声明 func 函数名(参数)->返回类型{函数代码块}

    我们来声明一下

    //无参无反
    func test(){
        print("asdfa");
    }
    //有参有反
    func test1(a:Int)->Int{
       return ++a
    }
    //有参无反
    func test2(a:Int){
       print(a)
    }
    func test(a:Int)->Void{
        print(a);
    }
    //无参有反
    func test()->Int{
       return 1
    }

    函数基本的四个类型就是这样,很简单

    来看看swift特殊的地方

    外部名

    当swift函数有多个参数时写法与其他语言有所区别

    func test5(a: Int ,b:Int) ->Int {
        return a+b
    }
    test5(5, b: 3)

    注意下  这里调用时有什么不同?   多了个b:  对,这就是外部名这个外部名是可变的,针对的是调用者而言  你可以把b改成s或任意变量名(符合变量命名规范)

    func test5(a: Int ,s b:Int) ->Int {
        return a+b
    }
    test5(5, s: 3)

    这样就把外部名改成了s   第一个变量是不用外部名的,当然你也可以给他加一个   就像刚才给b的变量名改成s一样

    默认值

    这个就是字面上意思   参数有一个默认值,声明函数的时候设置

    func test6(a: Int = 5,b:Int = 5) ->Int {
        return a+b
    }
    test6() test6(
    5) test6(b: 3) test6(5, b: 3)

    如果这个函数参数声明了默认值 则会有这么多种调用方式(没给的参数则会用默认的)

    这里注意几点

    1.有默认值的情况,参数统统都放在后面

    2.调用时参数顺序,尽量与声明函数时的顺序一样

    修饰

    默认情况下形参参数类型是let常量,如果需要修改则自行加上var

    如果需要引用传值则加inout

    fun test7(a:Int){
      //a=3(报错)
      print(a)    
    }
    fun test8(var a:Int){
      a=3
      print(a)    
    }
    fun test8(inout a:Int){
      a=3
      print(a)    
    }
    var a = 5
    test8(a)
    a

    可变参数长度

    func add(initNum: Int,numbers:Int...)->Int {
        var totals = initNum
        for num in numbers {
            totals += num
        }
        return totals
    }
    add(5,numbers: 6)
    add(6,numbers:2,4,3)

    写法如上第二个参数,不管多少个int类型参数都会集合起来作为numbers数组

  • 相关阅读:
    软件命名的几种常见方式
    软件过程与项目管理第一周作业
    DOS命令大全 系统管理员专用
    数据库事务的作用
    利用C#事务处理对数据库进行多重操作
    JSP标签分页实现
    使用自定义端口连接sql server2008
    Solr4.4.0的安装与配置
    Android中如何使用ViewPager实现类似laucher左右拖动效果
    Android中Timer使用方法
  • 原文地址:https://www.cnblogs.com/pengser/p/4969950.html
Copyright © 2020-2023  润新知