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关键字即可。

  • 相关阅读:
    关于秒杀的系统架构优化思路
    如何设计一个秒杀系统
    RabittMQ实践(二): RabbitMQ 与spring、springmvc框架集成
    RabittMQ实践(一): RabbitMQ的安装、启动
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
    Linux 网络 I/O 模型简介(图文)
    Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
    Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
    Java 网络编程(四) InetAddress类
    Java 网络编程(三) 创建和使用URL访问网络上的资源
  • 原文地址:https://www.cnblogs.com/yoran-yang/p/4379422.html
Copyright © 2011-2022 走看看