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

Константа-параметр в Rust

Параметром бывает не только тип, но и число, известное при сборке. Его пишут в угловых скобках рядом с типами и используют в теле как обычную константу. Значение должно быть вычислено до запуска программы.

Запишем функцию, которая возвращает переданное при сборке число:

fn first_n<const N: usize>() -> usize { N } fn main() { let a = first_n::<3>(); let b = first_n::<10>(); println!("{} {}", a, b); }

Тот же параметр можно сочетать с обычным именем типа, если функция работает и с видом данных, и с размером:

fn repeat_len<T, const N: usize>(_value: T) -> usize { N } fn main() { let n = repeat_len::<i32, 4>(0); println!("{}", n); }

Дано число:

const LIMIT: usize = 5;

Запишите функцию с константой-параметром, которая возвращает это число, подставьте LIMIT как параметр при сборке и выведите результат.

Дано число:

const MARK: usize = 7;

Запишите функцию с константой-параметром, подставьте MARK при сборке и выведите то же число.

Скажите, чем константа-параметр отличается от обычного параметра функции с типом usize.

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