快速连接字符时出错

Abh*_*yan 1 concatenation swift

我试图在 Swift 中连接两个字符,但它显示了错误

二元运算符不能应用于两个字符操作数。

let a: Character = "A"
let l: Character = "l"

let al = a + l 
Run Code Online (Sandbox Code Playgroud)

Swift 的字符串支持运算符重载,那么为什么不支持字符呢?

Leo*_*bus 6

您可以将字符附加到字符串

let a: Character = "A"
let l: Character = "l"

var al = ""

al.append(a)
al.append(l)

println(al)  // "Al"
Run Code Online (Sandbox Code Playgroud)

或连接两个字符串

let a = "A"
let l = "l"

let al = a + l   // "Al"
Run Code Online (Sandbox Code Playgroud)


Luc*_*tti 5

如果您真的希望/需要能够Character(s)使用+运算符“连接” 2 ,则可以定义此函数。

func + (left:Character, right:Character) -> String {
    return "\(left)\(right)"
}
Run Code Online (Sandbox Code Playgroud)

正如 Skrundz 在其评论中所说, 的实例Character只能包含 1 个字符,因此函数的输出将是String.

现在:

let a : Character = "A"
let b : Character = "B"
let ab = a + b // -> the String "AB"
Run Code Online (Sandbox Code Playgroud)