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

Dart中是否存在default关键字用于初始化默认值?

Dart中获取类型默认值的方法

Dart里没有像C#那样的default()关键字语法,但可以通过以下方式实现类似的默认值初始化效果:

  • 引用类型(如自定义类、List、Map等):默认值为null,直接赋值null即可,未初始化的变量也会默认是null:

    SomeType? someType = null; // 等价于C#的 default(SomeType)
    
  • 值类型(如int、double、bool等):各自有固定默认值,直接赋值对应值即可:

    • int、double默认值为0/0.0
    • bool默认值为false
      示例代码:
    int intVar = 0; // 等价于C#的 default(int)
    bool boolVar = false;
    
  • 通用工具函数(模拟default()行为):如果需要统一的调用方式,可以自定义工具函数:

    T? defaultValue<T>() {
      switch (T) {
        case int:
          return 0 as T;
        case double:
          return 0.0 as T;
        case bool:
          return false as T;
        // 可根据需要添加更多值类型的默认值
        default:
          return null;
      }
    }
    
    // 使用示例
    var customType = defaultValue<SomeType>(); // 返回null
    var numVar = defaultValue<int>(); // 返回0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:45:47