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

Dart如何在方法参数中直接解构record(记录)?

Dart方法参数中直接解构Record的实现方式

你想要的在方法参数里直接解构record的需求,Dart是支持的,正确的写法有两种:

1. 显式标注字段类型

直接在参数里定义record的字段变量并标注类型,方法体内可直接使用这些变量:

void myMethod((String s, int i)) {
  print(s); // 直接使用解构后的字符串变量
  print(i); // 直接使用解构后的整数变量
  // ...其他业务逻辑
}

2. 依赖类型推断

如果调用方法时传入的record类型明确,也可以省略字段的类型标注,让Dart自动推断变量类型:

void myMethod((s, i)) {
  print(s);
  print(i);
  // ...其他业务逻辑
}

你之前尝试的void myMethod((String, int) (s, i))写法不符合Dart语法规范,正确的方式是把record的类型信息和解构变量合并到同一个括号内,无需分开声明。

内容的提问来源于stack exchange,提问作者Valentin Vignal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:07:09