Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpAlAl 88 of 288 menu
◀ ▶

Второе имя для существующего типа в Rust

Запись type UserId = i32 дает второе имя тому же целому. Для компилятора UserId и i32 - один тип: переменную одного вида можно передать туда, где ждут другой.

Это не создает отдельную проверку между разными именами. Если функция принимает UserId, в нее подойдет обычная переменная i32 без обертки и без доступа к полю.

Сравним объявление второго имени и вызов функции с обычным числом:

type UserId = i32; fn take(id: UserId) { let _ = id; } fn main() { let n: i32 = 7; take(n); println!("{}", n); }

Дан следующий код:

fn main() { let raw: i32 = 15; println!("{}", raw); }

Добавьте второе имя Score для i32, объявите raw с этим именем и выведите значение как раньше.

Даны фрагменты:

fn send(code: ErrorCode) { let _ = code; } fn main() { let n: i32 = 3; }

Запишите второе имя ErrorCode для i32, передайте n в send и убедитесь, что программа собирается.

Дано число:

let num = 42;

Объявите второе имя Port для i32, сохраните литерал в переменной с этим именем и выведите его из main.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить