二元运算符“+”不能应用于“_”和“字符串”类型的操作数
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 类型的操作数