【问题标题】:How to create a type alias in Flutter?如何在 Flutter 中创建类型别名?
【发布时间】:2021-01-19 04:17:59
【问题描述】:

我看到一些旧问题/答案说不可能在 Flutter 上创建类型别名。我只是想确定是不是这样,因为从那以后该语言似乎已经更新了很多次。

我的具体问题是,如何制作这样的类型别名:

typealias Json = Map<String, dynamic>;

?

或者是否有任何解决方法,因为我尝试使用 empty mixin 来执行此操作,但它说缺少 18 个方法实现。

【问题讨论】:

    标签: flutter type-alias


    【解决方案1】:

    关于 Randai Schwartz 评论的小幅更新。 该功能似乎(截至 2021 年 4 月)几乎准备就绪,可能会在下一个小版本或之后的版本中发布。

    当您阅读本文时,可能值得检查以下问题: https://github.com/dart-lang/language/issues/65

    这应该允许这样做:

    typedef NewTypeName = OldTypeName;
    

    更新:

    Flutter 现在正式支持 typedef。 :) 所以你可以使用我上面的代码示例。

    【讨论】:

    • 很高兴听到这个消息!
    【解决方案2】:

    此时,仅函数类型 (https://dart.dev/guides/language/language-tour#typedefs) 支持 typedef。有人说要增加更多,但不会很快 (https://github.com/dart-lang/language/issues/115)。

    【讨论】:

      【解决方案3】:

      Flutter 2.2 已与 Dart 2.13 一起发布,现在只要您在终端上运行 flutter upgrade 或升级您的 dart,SimonEritsch 代码应该可以正常工作。

      【讨论】:

      • 哦。有趣的。目前,我目前的项目有点卡在颤振的预声音零安全版本​​中,它也可能没有 SimonEritsch 的修复,所以我可能会在未来的项目中使用它。谢谢!
      • 嗨!我知道已经有一段时间了。只是想说,这是一个寻找的人的选择。也许对于像这样的一些简单功能来说有点多,但是如果您在项目之间有任何功能并且您可以或找到一个很好的理由这样做:如果您制作一个具有空安全性的包,您也可以将这个 typedef 放在那里它会显示在您包含该包的任何项目中。
      猜你喜欢
      • 2013-11-14
      • 2020-06-24
      • 1970-01-01
      • 2021-03-03
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      相关资源
      最近更新 更多