You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 代码中三个点(...)语法的具体作用是什么?

语法含义说明

这是Dart 2.3及以上版本提供的特性,由展开操作符和集合if两个语法组合实现:

  • 首先是...展开操作符:作用是把后方数组中的所有元素,逐个展开插入到当前所在的父数组中,无需手动遍历添加元素。
    举个基础示例:
var listA = [1,2,3];
// 展开listA的元素插入到listB中
var listB = [0, ...listA, 4]; 
// 最终listB的值为 [0,1,2,3,4]
  • 其次是集合if语法:支持将if判断直接写在集合内部,只有条件成立时,才会将后方的元素插入到集合中。
  • 结合你的Flutter业务代码场景,完整逻辑是:你这段代码一般写在Widget的children属性数组中,当state.isSubmitting值为true时,就会把后方数组里的SizedBox和LinearProgressIndicator两个组件展开插入到当前的children数组中渲染;如果条件不成立,这两个组件就不会出现在children数组里。

这种写法可以避免手动拼接数组的冗余代码,直接在集合内部完成条件判断和元素插入,可读性和简洁度都更高。


内容的提问来源于stack exchange,提问作者Mariam Albarghouti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:45:04