You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Double?为nil时返回空字符串,有没有比三元运算符更短的实现方式?

最优替代方案

使用Optional.map配合空合运算符即可,比你当前的写法更短,同时完全规避了强制解包的崩溃风险:

variable.map(String.init) ?? ""

逻辑说明

  • 当Double?类型的variable为非空时,map会取出内部的Double值,调用String构造器得到对应的字符串
  • 当variable为nil时,map直接返回nil,此时空合运算符??会返回兜底的空字符串""

其他可选方案

如果你偏好显式的判断逻辑,也可以用可选绑定替代原有的三目+强制解包写法,同样无安全隐患,只是长度稍长:

if let variable = variable { String(variable) } else { "" }

内容的提问来源于stack exchange,提问作者user3001150

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 01:51:03