二元运算符“+”不能应用于“_”和“字符串”类型的操作数

Posted

技术标签:

【中文标题】二元运算符“+”不能应用于“_”和“字符串”类型的操作数【英文标题】:Binary operator '+' cannot be applied to operands of type '_' and 'String' 【发布时间】:2021-03-04 01:10:39 【问题描述】:

我是 swift 新手。 我想使用函数 reduce 连接数组中的名称 我的代码:

let names = ["ZZZZZZ", "B", "AA", "CCCC", "EEEEE"]
let sum = names.reduce(0) 
return $0 + $1

我得到这个错误

【问题讨论】:

看起来您正在尝试对数字类型和字符串的值求和。 您应该将0 更改为空字符串""。如果您尝试连接字符串。 当然joined() 是可行的方法,但reduce("", +) 也可以 【参考方案1】:

如果要reduce字符串,默认值必须是空字符串""

let sum = names.reduce("")  return $0 + $1 

其实

let sum = names.joined() 

做同样的事情。

【讨论】:

谢谢你,很有帮助

以上是关于二元运算符“+”不能应用于“_”和“字符串”类型的操作数的主要内容,如果未能解决你的问题,请参考以下文章

二元运算符“==”不能应用于“布尔”和“字符串?”类型的操作数对于 2020 年的 Swift [重复]

二元运算符'+'不能应用于'String'和'() -> String'类型的操作数

二元运算符 % 不能应用于 UInt32 和 int 类型的操作数

二元运算符“===”不能应用于“任何?”类型的操作数和“UIBarButtonItem!”

二元运算符 += 不能应用于类型的操作数 [关闭]

Swift 3:二元运算符不能应用于 int 和“Int”类型的操作数?