资讯专栏INFORMATION COLUMN

Swift中的方法参数名

姘搁『 / 2131人阅读

摘要:方法的参数名方法的所有参数都有一个内部参数和一个外部参数,内部参数是在方法中拥有一个本地变量的名字,外部参数是在内部参赛前的部分,给调用者提供。

方法的参数名

方法的所有参数都有一个内部参数和一个外部参数,内部参数(internalName)是在方法中拥有一个本地变量的名字,外部参数(external)是在内部参赛前的部分,给调用者提供。

    func foo(external internalName: Int) {
        let local = internalName
    }
    func bar() {
        //调用时写上外部参数名
        let result = foo(external: 123)
    }

可以同时拥有外部参数和内部参数,名字可以不同。可以使用下划线来省略外部参数名。

    func foo(_ internalName: Int) {
        let local = internalName
    }
    func bar() {
        //调用时无外部参数名
        let result = foo(123)
    }

Swift语言中,函数的第一个参数的外部参数默认为下划线,如果想强制显示第一个参数的外部参数可以把第一个参数名在前面再写一遍(即写出外部参数名)

func foo(internalName internalName: Int) {
    let local = internalName
}
func bar() {
    let result = foo(internalName: 123)
}

除第一个参数外的参数外部参数默认与内部参数相同,也可自己指定

func foo(first: Int, externalSecond second: Double) {
        let local = internal
    }
func bar() {
        let result = foo(123, externalSecond: 5.5)
    }

Swift语言方法命名时的习惯时通过函数名描述第一个参数的意义,通过外部参数入使用者了解其余参数的意义,所以会出现上述的规则

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/15972.html

相关文章

  • swift3学习笔记

    摘要:只将需要改变的值声明为变量。使用或者方法来判断一个合是否是另外一个合的子合或者父合并且两个合并不相等。 一直没有时间好好看一下swift,最近复习了一遍语法,这里记录swift学习过程中遇到的一些问题和要点,和Object-C的一些相关特性这里也不做介绍,只记录swift特有的一些特性swift借鉴了很多语言的语法,特别是脚本语言,在swift里,可以看到python语言的一些影子,还...

    txgcwm 评论0 收藏0
  • 通过算法了解Swift 3—插入排序

    摘要:源自泊学技法学习插入排序是最基础的排序算法之一。在理解插入排序的时候,要时刻记住一件事情元素的操作永远只发生在相邻的两个元素之间。不用交换元素的插入排序方法除了使用或之外,还有一种插入排序的手段。 Insertion sort 源自泊学IOS技法学习 插入排序是最基础的排序算法之一。它最核心的思想,由以下几条构成。当我们要对一个值为[1, 5, 6]的数组从大到小排列时: 把序列的第...

    Coding01 评论0 收藏0
  • 善变的Swift函数

    摘要:略一句不思议的返回类型的返回值显然比复杂多了,特别是可选类型与多值类型。多值返回混杂可选当多值返回中返回值中夹杂这可选类型是需要技巧的,这里介绍两种处理方式。 原文链接:http://www.objc.io/issue-16/swift-functions.html 前言 尽管OC跟其他语言有些很奇形怪状的语法,但是一旦你找到窍门方法语法还是相当直截了当的。快速回顾下: + (v...

    魏明 评论0 收藏0
  • iOS开发系列--代码混淆

    摘要:以下内容大部分来源于实现原理其实插件的实现方式十分简单,提取用户编写的文件中的方法名,使用宏定义将其更换为任意的无规则字符串。 由于iOS系统的封闭性,相对于安卓来说,iOS开发过程中代码混淆可能就显得并不是得非有不可了。但是在安全性(可通过class-dump反编译暴露出类的方法名)和特殊需求上(例如马甲包的混淆过审)还是有一定需求的!此脚本借鉴于kaich/codeobscure。...

    zhichangterry 评论0 收藏0
  • iOS开发系列--代码混淆

    摘要:以下内容大部分来源于实现原理其实插件的实现方式十分简单,提取用户编写的文件中的方法名,使用宏定义将其更换为任意的无规则字符串。 由于iOS系统的封闭性,相对于安卓来说,iOS开发过程中代码混淆可能就显得并不是得非有不可了。但是在安全性(可通过class-dump反编译暴露出类的方法名)和特殊需求上(例如马甲包的混淆过审)还是有一定需求的!此脚本借鉴于kaich/codeobscure。...

    chenatu 评论0 收藏0

发表评论

0条评论

姘搁『

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<