• OC与Swift的区别五(函数)


    13 函数

    oc函数定义:

    返回值类型 函数名(参数类型 参数名,参数类型 参数名){

    }

    swift 函数定义:

    func 函数名(参数名:参数类型,参数名:参数类型) -> 返回值类型{

    }

    swift中没有返回值的函数有三种写法:

      13.1

      func 函数名(参数名:参数类型,参数名:参数类型) -> Void{

      }

      13.2

      func 函数名(参数名:参数类型,参数名:参数类型) -> (){

      }

      13.3

      func 函数名(参数名:参数类型,参数名:参数类型){

      }

    swift中没有行参的函数函数名后面的小括号也不能省略

    返回元组的函数定义:

    func 函数名(参数名:参数类型,参数名:参数类型) -> (元素名称:元素类型,元素名称:元素类型){

    }

    swift中的外部参数名

    func 函数名(外部参数名 形式参数名:参数类型,外部参数名 形式参数名:参数类型) -> 返回值类型{

    }

    //形式参数名前面加上# ,则外部参数名与形式参数名相同

    func 函数名(#形式参数名:参数类型,#形式参数名:参数类型) -> 返回值类型{

    }

    当调用增加了外部参数名的函数,在调用时,则编译器会自动生成带有外部参数名的调用,并且外部参数名在调用时必须加上且参数顺序必须与定义时一致,这样可以增加调用者对参数的可读性

    func addPerson(person_name:String,person_age:Int){

    }

    addPerson(person_name:"jack",person_age:28)

    swift中的默认参数值

    func 函数名(外部参数名 形式参数名:参数类型 = 参数默认值,外部参数名 形式参数名:参数类型) -> 返回值类型{

    }

    带有默认值的函数调用时,有默认值的参数可以不传值,且如果不指定有默认值行参的外部参数名,swift会自动生成一个与其行参名相同的外部参数名,在有默认值的行参参数名前加上_,则调用时不需要写其外部参数名

    注意: oc中参数在函数体内是可以修改其值的,因为其作用类似于局部变量。但是在swift中,参数默认都是常量参数,不能在函数体内修改参数值。如果需要在函数体内修改参数值,则需要定义变量参数,即在参数名前加var关键字即可。

  • 相关阅读:
    Linux下c++使用pthread库
    一半,一绊
    【codevs3945】 完美拓印
    【poj2942】 Knights of the Round Table
    【bzoj2730】 HNOI2012—矿场搭建
    【poj1177】 Picture
    Tarjan学习笔记
    联赛总结
    【poj3461】 Oulipo
    【csuoj1014】 西湖三人行
  • 原文地址:https://www.cnblogs.com/yoran-yang/p/4379422.html
Copyright © 2020-2023  润新知