Обзор синтаксиса

Как я уже сказал, синтаксис Vala во многом напоминает синтаксис C#, и те, кто знаком с C, C++, C# и прочими С-подобными языками, затруднений испытывать не будут. Тем не менее следует уделить внимание особенностям, отличающим Vala от прочих языков из "группы С".

Для переменных главным отличием является наличие механизма Type Inference (предполагаемый тип), позволяющий объявить переменную неопределённого типа следующим образом:

var b;

Базовые типы данных практически не отличаются от типов прочих языков: байтовый, Юникод-символ, числовые (все стандартные типы), логический, структура, перечисление, массив и UTF-8-строка.

Объявление, определение и работа с типами данных вполне очевидны, а приведение типов (type casting) можно выполнять так, как принято в C:

int a = 7;
float x = (float)a;

или по методике C#, например:

Window win = new Window( WindowType.TOPLEVEL );
Object obj = win as Object;

Подразумевается, что преобразование является осуществимым, т.е. класс Window является подклассом Object, иначе переменной obj будет присвоена null-ссылка.

Набор операторов Vala точно такой же, как в любом C-подобном языке, но перегружать (overload) их нельзя.

Управляющие конструкции: if-else и switch, циклы while, do-while и for. Есть ещё цикл foreach( int a in int_array ) {...} – принцип его работы очевиден.

Last updated