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

