【问题标题】:Why some Dart built-in types start with capital letter(List, Map, String) and others with lower letter(number, int, double, bool)?为什么有些 Dart 内置类型以大写字母 (List, Map, String) 开头,而另一些则以小写字母 (number, int, double, bool) 开头?
【发布时间】:2020-11-22 01:36:30
【问题描述】:

是 Java 祖先还是与集合有关? 是否有模式以及dynamic 类型如何适应它?

【问题讨论】:

标签: dart types naming-conventions


【解决方案1】:

Dart 之所以选择这个名字,是因为它熟悉来自 Java 的人们。这就是为什么 intdoublevoidbool 是小写的,即使它们在 Dart 中不是“原始”类型(即使 bool 比 Java 的 boolean 类型更短。 ) num 类在 Java 中不存在,但它遵循 intdouble 类型以保持一致性。 为方便起见,dynamic 类型可能只是小写,因为它实际上是非类类型。

【讨论】:

    【解决方案2】:

    从历史上看,Java 和 C# 等语言将这些类型分为两大类:

    1. 原始类型(intcharboollongdouble 等)
    2. 用户自定义类型(ListMapFutureAnimalCar 等)

    为了明确区分,约定遵循CamelCase,即user-defined types以大写字符开头,primitive ones遵循pascalCase

    dart,与许多其他功能一样,都采用这两种语言的这种约定。

    注意:String 类型长期以来一直是一种特殊情况。 C# 有一个名为string 的类型和一个名为String 的别名类型。然而,Java 采用 C++ 哲学并且不将 String 视为原始类型。因此使用 CamelCase。对于String dart 已经走java路径了。

    PSThis GitHub Issue 详细讨论了String 问题。

    【讨论】:

      猜你喜欢
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多