zoukankan      html  css  js  c++  java
  • Swift——(三)Swift神奇的下划线

        在Swift在。有许多神奇的下划线,在这里,我们将看到神奇的汇总,我希望能够帮助其他很多学习Swift朋友。

        @Author: twlkyao转载或者引用请保留此行。

        1.格式化数字字面量

        通过使用下划线能够提高数字字面量的可读性,比如:
    let paddedDouble = 123.000_001
    let oneMillion = 1_000_000

        2.忽略元组的元素值

        当我们使用元组时,假设有的元素不须要使用。这时能够使用下划线将对应的元素进行忽略,比如:
    let http404Error = (404, "Not Found")
    let (_, errorMessage) = http404Error

        代码中。仅仅关心http404Error中第二个元素的值。所以第一个元素能够使用下划线进行忽略。

        3.忽略区间值

    let base = 3
    let power = 10
    var answer = 1
    for _ in 1...power {
        answer *= base
    }

        有时候我们并不关心区间内每一项的值,能够使用下划线来忽略这些值。

        4.忽略外部參数名

        (1).忽略方法的默认外部參数名

        在用法(类方法或者实例方法)时,方法的第二个參数名及兴许的參数名,默认既是内部參数名,又是外部參数名。假设不想提供外部參数名,能够在參数名前加入下划线来忽略外部參数名。
    class Counter {
        var count: Int = 0
        func incrementBy(amount: Int, numberOfTimes: Int) {
            count += amount * numberOfTimes
        }
    }

        在上面的代码中,方法incrementBy()中的numberOfTimes具有默认的外部參数名:numberOfTimes,假设不想使用外部參数名能够使用下划线进行忽略,代码能够写为(只是为了提高代码的可读性,一般不进行忽略):
    class Counter {
        var count: Int = 0
        func incrementBy(amount: Int, _ numberOfTimes: Int) {
            count += amount * numberOfTimes
        }
    }

        (2).忽略具有默认值的參数的外部參数名

        当函数(或者方法)的參数具有默认值时,Swift自己主动为该參数提供与參数名一致的默认外部參数名,因此在进行函数调用的时候,要提供默认參数名。能够使用下划线进行忽略默认外部參数名(可是不推荐忽略外部參数名。这主要是为了调用的时候能够方便地知道每一个參数的含义)。

    func join(s1: String, s2: String, joiner: String = " ") -> String {
        return s1 + joiner + s2
    }
    // call the function.
    join("hello", "world", joiner: "-")

        假设不想使用默认外部參数名,能够进行例如以下改动:

    func join(s1: String, s2: String, _ joiner: String = " ") -> String {
        return s1 + joiner + s2
    }
    // call the function.
    join("hello", "world", "-")

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    逆波兰表达式、波兰表达式【数据结构与算法】
    Python下所有所有异常处理办法
    修改jenkins源为国内源
    [sql Server]除非另外还指定了TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效
    原创 CDH 6.2.1 装 es 怎么配置 master ???
    contos7开启端口,关闭防火墙
    分布式下session共享问题和解决
    伪原创api接口[HTTP]
    AI写作机器人基于GPT-3
    基于AI的自动改写文章的软件
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4746072.html
Copyright © 2011-2022 走看看