【问题标题】:Why Dart does not support Function Overloading?为什么 Dart 不支持函数重载?
【发布时间】:2022-08-18 15:10:55
【问题描述】:

我只需要知道为什么 dart 还不支持函数重载。同一问题的其他 stackoverflow 答案并不那么清楚。大多数答案只是指出 Dart 是一种动态类型的语言,函数重载需要静态类型。但这些答案并没有描述太多关于该声明的内容。

    标签: flutter dart overloading


    【解决方案1】:

    Dart 根本不支持函数重载。函数重载需要静态类型。 Dart 的核心是一种动态类型语言。

    您可以为方法或可选的命名或未命名参数使用不同的名称

    // optional unnamed
    void dummy(int a, [String b]);
    
    foo(5);
    foo(5, 'bar');
    
    // optional named
    void dummy(int a, {String b});
    
    foo(5);
    foo(5, b :'bar');
    

    可选参数也可以有默认值。可选的命名和未命名参数不能一起使用(单个函数只能使用一个或另一个)在构造函数的情况下,您可以使用命名构造函数作为替代

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-20
      • 2012-03-11
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      相关资源
      最近更新 更多