【问题标题】:Swift String, Character Concatenation Plus AssignmentSwift 字符串、字符连接加赋值
【发布时间】:2014-10-16 20:19:05
【问题描述】:

我用 Xcode 6.1(6A1046a) 得到这个,就像我用 6.0 做的一样:

var dog:String = "Dog"
let plural:Character = "s"    
let dogs:String = dog.append(plural)

游乐场报告:

游乐场执行失败:29:23:错误:无法调用 'append' 带有 'Character' 类型的参数 let dogs:String = dog.append(复数)

为什么我不能这样做,虽然这很好:

dog.append(plural)

【问题讨论】:

    标签: string swift character xcode6


    【解决方案1】:

    错误信息具有误导性,但问题在于

    mutating func append(c: Character)
    

    修改其接收者并返回Void(又名()又名“无”):

    var dog:String = "Dog"
    let plural:Character = "s"    
    dog.append(plural) // now dog contains the string "Dogs"
    

    let dogs = dog + String(plural)
    

    您可以改为创建一个新字符串。

    备注:其实你可以赋值

    let foo = dog.append(plural)
    

    但这会将空元组() 分配给foo(这不是您想要的)。 您的代码中的错误消息是由于您无法分配 ()String 变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2012-11-04
      相关资源
      最近更新 更多