Widget声明加和不加有什么区别,什么时候要加
来源:8-2 基于ExpansionTile实现可展开的列表

酷创_魏
2025-06-11
这里的Widget加和不加有什么区别,什么时候要加
写回答
1回答
-
CrazyCodeBoy
2025-06-12
1.加 Widget 是 指定函数返回类型
Widget _buildSub(String subCity) {
return FractionallySizedBox();
}
这是明确告诉编译器:
> 这个函数的返回值是 Widget 类型(或其子类),编译器可以提前做类型检查。
2.不加 Widget 会自动推导(隐式返回类型)
_buildSub(String subCity) {
return FractionallySizedBox();
}
这种写法是 Dart 的 类型推导(dynamic 推断),在没有显式类型标注的情况下,Dart 会根据 return 的内容自动推断出返回类型。但如果函数体中没写 return,或者写错返回值,就会默认当成 dynamic 类型,导致潜在 bug。
3.能写返回类型就写,尤其是 Widget 类函数,类型越明确越好。00
相似问题