Flutter组件代码中child后冒号(:)的含义是什么?
关于Flutter代码中child后冒号的含义
你看到的child:里的冒号,是Dart里命名参数的语法标识。
在Flutter的Widget构造函数中,绝大多数参数都是命名参数,写法就是参数名: 参数值。这种设计的好处是调用构造函数时,不用严格遵循参数定义的顺序传值,只要通过参数名指定对应的值即可,能大幅提升代码的可读性。
比如你给出的代码里,Center组件的child就是一个命名参数,用来指定这个居中布局里嵌套的子Widget;后面Text组件的textDirection: TextDirection.ltr也是同样的用法,属于Text的命名参数。
Dart里定义命名参数时,会把参数放在大括号{}里,举个例子,Center的构造函数大概是这么定义的:
const Center({Key? key, Widget? child}) : super(key: key);
调用时就必须用参数名: 值的形式来传递这些命名参数。
内容的提问来源于stack exchange,提问作者baha zou
相关产品推荐
相关产品推荐

