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 类函数,类型越明确越好。
0
0

慕课甄选-Flutter零基础极速入门到进阶实战

全新Flutter从入门到进阶,实战仿携程网App

701 学习 · 330 问题

查看课程