Swift 如果在字符串文本中调用,为什么对字符串调用removateIndex:会反转结果?
有人能解释一下这种差异吗?例如,如果调用removeAtIndex:,以从字符串中删除第一个字符,则如果在字符串文本之外应用该方法,则它将按预期工作。像这样:Swift 如果在字符串文本中调用,为什么对字符串调用removateIndex:会反转结果?,swift,swift2,Swift,Swift2,有人能解释一下这种差异吗?例如,如果调用removeAtIndex:,以从字符串中删除第一个字符,则如果在字符串文本之外应用该方法,则它将按预期工作。像这样: var user = "@pdxCorey" user.removeAtIndex(user.startIndex) print("user: \(user)") // user: pdxCorey 但是,如果在字符串文本中调用removateIndex:,则结果相反: var user = "@pdxCorey" print("us
var user = "@pdxCorey"
user.removeAtIndex(user.startIndex)
print("user: \(user)")
// user: pdxCorey
但是,如果在字符串文本中调用removateIndex:,则结果相反:
var user = "@pdxCorey"
print("user: \(user.removeAtIndex(user.startIndex))")
// user: @
这是怎么回事?这与是否在 字符串是否为文本。
字符串
方法
public mutating func removeAtIndex(i: Index) -> Character
从字符串中删除给定索引处的字符,然后
返回该字符作为函数结果
var user = "@pdxCorey"
let firstChar = user.removeAtIndex(user.startIndex)
print(user) // pdxCorey
print(firstChar) // @
在第一种情况下,在删除
第一个字符,表示“pdxCorey”
在第二种情况下,您正在打印removatendex()的返回值
这是删除的字符“@”