zoukankan      html  css  js  c++  java
  • 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关键字即可。

  • 相关阅读:
    toj 2819 Travel
    toj 2807 Number Sort
    zoj 2818 Prairie dogs IV
    zoj 1276 Optimal Array Multiplication Sequence
    toj 2802 Tom's Game
    toj 2798 Farey Sequence
    toj 2815 Searching Problem
    toj 2806 Replace Words
    toj 2794 Bus
    css截取字符
  • 原文地址:https://www.cnblogs.com/yoran-yang/p/4379422.html
Copyright © 2011-2022 走看看