Синтаксис haXe подобен Java, ActionScript или C++.
Файл исходного кода состоит из необязательного
названия пакета, за которым следует несколько описаний импорта (
imports) и типов. Для более чёткого разделения, имена пакетов состоят из нескольких имён-
идентификаторов, начинающихся с символов в нижнем регистре, а
идентификаторы типов всегда начинаются с заглавных букв.
Существует несколько разновидностей типов. Самые важные из них -
классы (class) и
перечисления (enum). Вот несколько
основных типов, определенных в стандартной библиотеке:
enum Void {}
class Float {}
class Int extends Float {}
enum Bool {
true;
false;
}
enum Dynamic<T> {}
Рассмотрим каждый тип по отдельности:
- Void определен как enum. Enum перечисляет список допустимых конструкторов. Пустое перечисление, например Void, не может иметь каких-либо значений. Тем не менее, это вполне допустимый тип, который может быть определен и использован.
- Float - это класс чисел с плавающей точкой. У него нет никаких методов, так что его реализация может быть существенно оптимизирована на некоторых платформах.
- Int - целое число. У него также нет методов, но он является наследником класса Float, поэтому везде, где нужен Float, вы можете использовать Int, но не наоборот.
- Bool - это перечисление, как и Void, но у него есть два экземпляра true и false. Как видно из этого, даже стандартные типы могут быть легко определены с помощью системы типов hAxe. Это также означает, что вы можете определять свои собственные типы.
- Dynamic это перечисление с параметром типа (type parameter). Более подробная информация о том, как использовать параметры типов будет дана далее в описании языка.