Ржавеем по полному! #2. Переменные. Литералы и операторы.
Сегодня как я и говорил познакомимся с переменными и типами данных. Ну и еще по мелочи: операторы и литералы =)
Учимся считать (переменные)
Для создания переменной в расте используется ключевое слово let.
let a = 10; // тип i32
Таким образом будет создана переменная a с типом i32 (подробнее о типах позже). Тип выведен автоматически.
Например, если вместо числа 10 мы напишем строку, то тип будет выведен строковый.
let a = "hello!"; // тип &str. да-да, вы угадали // будем говорить о нем позже =)
Мы можем также сами указать тип через символ двоеточия :
let a: char = "hello"; // ошибка, "hello" это не charlet b: u8 = 99; // ок, b теперь типа u8.
Как видите компилятор проверяет типы.
Теперь попробуем изменить нашу переменную.
let a = 10;a = 20; // ошибкаa += 1; // ошибка
... И у нас ничего не выходит! Дело в том что по умолчанию переменные непеременные (но они не константы!) . Если мы хотим что бы наши переменные изменялись нужно использовать ключевое слово mut.
let mut a = 10;// ^-- что бы наша переменная могла изменятьсяa = 20; // окa += 1; // ок// a = 21
Типы данных
Раст предоставляет большой выбор примитивных типов:
- Целые: i8, i16, i32, i64, isize (размер указателя, на 32 битных машинах 32, на 64 битных - 64).
- Натуральные: u8, u16, u32, u64, usize (размер указателя).
- Рациональные: f32, f64.
- char Юникод символ, каждый 4 байта.
- bool Буля, true или false.
- () Юнит. (Используется как "ничего").
- Массивы вроде [T; N]. Пример: [1, 2, 3, 4] тип: [i32; 4].
- Кортежи вроде (A, B, ...). Пример: (true, false, 3) тип: (bool, bool, i32).
Литералы
Существуют литералы: целые числа 123, дробные числа 123.123, символы 'У', строки "RUST FOREVER!", були true, и юнит ().
Целые числа могут быть также представлены двоичными, шестнадцатеричными и восьмеричными используя соответственно следующие префиксы: 0b, 0x, 0o. Например: 0b101 будет равно 5.
В числа можно вставлять любое количество нижних подчеркиваний, дабы улучшить читаемость. 1_000_000 = 1000000, 0.000_000_1 = 0.0000001.
Операторы
В расте операторы похожи на операторы в Си-подобных языках.
- + плюс.
- - минус.
- * умножить.
- / разделить.
- % остаток от деления.
- ! логическое НЕ[/il]
- - унарный минус.
- ^ исключающее ИЛИ.
- | побитовое ИЛИ.
- & побитовое И.
- && логическое И.
- || логическое ИЛИ.
- << побитовый сдвиг влево.
-
>> побитовый сдвиг вправо.
А также соединенные с присваиванием операции, например a >>= 3 равносильно a = a >> 3.
На этом все. В следующей части познакомимся с функциями и указателями. =)
- 4
3 комментария
Рекомендуемые комментарии