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

Flutter代码中末尾的‘!’运算符有什么作用?

关于Dart中非空断言!的作用
  • !是Dart的非空断言运算符,作用是明确告知编译器:当前变量的值绝对不会是null,可以直接当作非空类型来使用。
  • 你的代码里locations[index].location的类型是String?(表示这个变量可能是字符串,也可能是null),但Text组件要求传入的参数必须是String(非空字符串),类型不匹配就会报错。
  • 加上!后,相当于强制把String?类型转换为String类型,编译器就会认可这个类型转换,不再报错。但要注意:如果运行时这个变量实际是null,会直接触发空指针异常,所以只有你完全确定location不会为null时,才能使用这个运算符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:18:34