Почему некоторые встроенные типы Dart начинаются с заглавной буквы (Список, Карта, Строка), а другие - с нижней (число, int, double, bool)? - PullRequest
2 голосов
/ 01 августа 2020

Это Java происхождение или связано с коллекцией? Есть ли узор и как в него вписывается шрифт dynamic?

Ответы [ 2 ]

3 голосов
/ 01 августа 2020

Дарт выбрал название из-за его знакомства для людей из Java. Вот почему int, double, void и bool являются строчными, хотя они не являются «примитивными» типами в Dart (и даже если bool был сделан короче, чем Java boolean тип.) Класс num не существует в Java, но он следует за типами int и double для согласованности. Тип dynamic, вероятно, был написан в нижнем регистре для удобства и потому, что на самом деле это был неклассовый тип.

1 голос
/ 01 августа 2020

Исторически такие языки, как Java и C#, делили типы на 2 основные категории:

  1. примитивные типы (int, char, bool, long, double et c)
  2. определяемые пользователем типы (List, Map, Future, Animal, Car et c)

Чтобы четко указать разницу, было принято следующее соглашение: CamelCase , т.е. начиная с заглавной буквы для user-defined types и следуйте за pascalCase для primitive ones

dart, как и многие другие функции, берет это соглашение из этих двух языков.

ПРИМЕЧАНИЕ: Тип String долгое время был особым случаем. C# имеет как тип с именем string, так и тип псевдонима с именем String. Однако Java принимает философию C ++ и не считает String примитивным типом. Следовательно, используется CamelCase . Для String dart следовал пути java.

PS В этом выпуске GitHub подробно обсуждается проблема String.

...