美文网首页
String又是一个集合类型了

String又是一个集合类型了

作者: 醉看红尘这场梦 | 来源:发表于2020-03-20 09:54 被阅读0次

    首先是SE-0163,这是基于Swift 4 String Manifesto的一份具体修改提议,其中有些内容还在积极讨论中,但一个可确定的部分,就是继Swift 2之后,在Swift 4里,String重新变成了一个Collection类型。对此,官方的详细解释,在这里

    String变成一个集合之后,我们之前对Collection所有的操作,就都可以直接用来处理String了,例如:

    let greeting = "Hello Mars"
    
     // 10
    greeting.count
    
    // 5
    let spaceIndex = greeting.index(of: " ")!
    
    // Hello
    let substring = greeting[..<spaceIndex]
    
    // H
    // e
    // l
    // ..
    greeting.forEach { print($0) }
    
    

    SE-0168 Multi-Line String Literals

    这个改进最简单直观,我们可以用一对三个单引号(这叫做triple quotes)来包含任何行字符串内容,这样,无论字符串包含任何值(包括引号、各种空格、换行符等),都会原封不动的保留下来,当我们要向用户展示一段JSON或XML时,就显得格外方便了:

    let xmlInfo = """
    <?xml version="1.0"?>
    <episode id="1">
        <title>String is a collection again</title>
        <author>11</author>
        <created_at>2017-05-18</created_at>
    </episode>
    """
    
    let jsonInfo = """
    {
        "episode": {
            "title": "String is a collection",
            "author": "11",
            "created_at": "2017-05-18"
        }
    }
    """
    
    

    当我们在控制台打印这两个变量时:

    print(xmlInfo)
    print(jsonInfo)
    
    

    可以在下图中看到,这两个字符串都完整保留了我们在定义时的格式:

    string-is-a-collection-agagin

    相关文章

      网友评论

          本文标题:String又是一个集合类型了

          本文链接:https://www.haomeiwen.com/subject/gxvuehtx.html