gpt4 book ai didi

swift - 为什么 string.append(character) 编译失败,错误为 "cannot assign value of type ' ( )' to type ' String' "?

转载 作者:行者123 更新时间:2023-11-28 13:27:37 27 4
gpt4 key购买 nike

我目前正在尝试编码一个字符串。某些字符可以原样复制,而其他字符则必须进行百分比编码(这是针对 URL)。作为其中的一部分,我遍历输入字符串并单独检查每个字符。如果字符可以按原样使用,我只想将字符按原样连接到输出字符串。 string.append(character) 函数产生编译器错误“无法将类型‘()’的值分配给类型‘String’”。我不明白为什么会这样。

我试过使用带有文字字符的追加,但产生了同样的错误。我的代码如下:

var encoded: String = ""
for character in input {
print("character: \(character)")
if (character.isASCII) {
if (Reserved.contains(character)) {
encoded += encode(character)
} else if (UnReserved.contains(character)) {
encoded = encoded.append(character)
} else {
//TODO: Something
}
} else {
encoded += encode(character)
}
}

最佳答案

这一行是问题所在:

encoded = encoded.append(character)

您将字符附加到 encoded 字符串变量。 append 返回 Void(也称为 ()),而您正试图将该 void 值分配给 String 变量。只需附加字符,无需重新分配变量:

encoded.append(字符)

关于swift - 为什么 string.append(character) 编译失败,错误为 "cannot assign value of type ' ( )' to type ' String' "?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58102098/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com