Dart语言中double类型赋值的写法是否有官方约定规范?
Dart double类型赋值的官方风格规范
结论
Dart官方明确推荐使用带.0后缀的写法,也就是第二种写法:
double aDoubleValue = 200.0;
具体说明
- 两种写法语法均合法:Dart 2.1版本后新增了整数字面量到double类型的隐式转换规则,所以直接写
200赋值给double变量不会报错,运行结果和200.0完全一致。 - 官方风格要求显式加
.0:Dart官方的Effective Dart风格指南中明确规定,为double类型变量赋值整数值时,需要显式添加.0后缀,不要依赖隐式转换特性。 - 推荐该写法的核心原因:
- 可读性更好:无需追溯变量声明,看到字面量就能直接判断是double类型,降低代码理解成本。
- 避免潜在错误:在泛型传参、函数重载匹配等场景,依赖隐式转换可能出现预期外的类型匹配问题,显式标注类型属性可以规避这类隐患。
- 特殊场景补充:如果使用
var/final自动推导变量类型,想要得到double类型的变量也必须加.0后缀,否则推导出来的类型会是int:var value1 = 200; // 推导为int类型 var value2 = 200.0; // 推导为double类型
内容的提问来源于stack exchange,提问作者Srichakradhar
相关产品推荐
相关产品推荐

