Срезы (Slices)
🔹 Что такое Слайсы?
Слайсы в Rust — это ссылки на часть коллекции, а не на всю коллекцию. Это позволяет работать с фрагментами массивов, строк и других коллекций.
🔸 Синтаксис
Вместо того чтобы работать с ссылкой на всю строку String, вы можете работать с её частью, используя диапазон [start..end].
📌 В данном примере,
🔸 Внутреннее устройство
Срезы хранят начальную позицию и длину фрагмента. Например, срез
🔹 Зачем это нужно?
Слайсы полезны, когда вам нужно работать с подмножеством данных, не забирая владение всей коллекцией.
Подробнее про слайсы читайте тут.
#Rust #Slices #Programming #RustLang #Tips
Rust Journey
🔹 Что такое Слайсы?
Слайсы в Rust — это ссылки на часть коллекции, а не на всю коллекцию. Это позволяет работать с фрагментами массивов, строк и других коллекций.
let arr = [1, 2, 3, 4, 5];
let slice = &arr[1..4];
🔸 Синтаксис
Вместо того чтобы работать с ссылкой на всю строку String, вы можете работать с её частью, используя диапазон [start..end].
let s = String::from("hello world");
let hello = &s[0..5];
let world = &s[6..11];
📌 В данном примере,
hello
и world
являются срезами строки s
.🔸 Внутреннее устройство
Срезы хранят начальную позицию и длину фрагмента. Например, срез
world
содержит указатель на 6-й байт строки s
и длину 5
.🔹 Зачем это нужно?
Слайсы полезны, когда вам нужно работать с подмножеством данных, не забирая владение всей коллекцией.
Подробнее про слайсы читайте тут.
#Rust #Slices #Programming #RustLang #Tips
Rust Journey
👍5🔥2🤔2❤1
Очереди в Rust: Работаем с VecDeque
🔰 В Rust очереди могут быть реализованы с помощью стандартной библиотеки, используя структуру данных
Основные Особенности VecDeque:
- Вставка элементов: Возможность добавления элементов как в начало (
- Удаление элементов: Удаление элементов из начала (
- Произвольный доступ: Доступ к элементам по индексу, хотя это не самая эффективная операция для
- Итерация: Поддержка итерации по элементам очереди.
Пример использования VecDeque:
В этом примере:
- Создается новая
- В нее добавляются элементы "Hello,", "Rust" и "is".
- Элементы итеративно выводятся на экран.
- Элементы удаляются из очереди до ее полного опустошения.
🛠️
#Rust #Programming #DataStructures #VecDeque
@rust_journey
🔰 В Rust очереди могут быть реализованы с помощью стандартной библиотеки, используя структуру данных
VecDeque
. Это двусторонняя очередь, которая позволяет эффективно вставлять и удалять элементы как с начала, так и с конца очереди.Основные Особенности VecDeque:
- Вставка элементов: Возможность добавления элементов как в начало (
push_front
), так и в конец (push_back
) очереди.- Удаление элементов: Удаление элементов из начала (
pop_front
) и конца (pop_back
) очереди.- Произвольный доступ: Доступ к элементам по индексу, хотя это не самая эффективная операция для
VecDeque
.- Итерация: Поддержка итерации по элементам очереди.
Пример использования VecDeque:
use std::collections::VecDeque;
fn main() {
// Создаем пустую очередь
let mut queue = VecDeque::new();
// Добавляем элементы в очередь
queue.push_back("Rust");
queue.push_back("is");
queue.push_front("Hello,");
// Итерируемся по очереди и выводим элементы
for element in queue.iter() {
println!("{}", element);
}
// Удаляем элементы из очереди
while let Some(element) = queue.pop_front() {
println!("Удаленный элемент: {}", element);
}
}
В этом примере:
- Создается новая
VecDeque
.- В нее добавляются элементы "Hello,", "Rust" и "is".
- Элементы итеративно выводятся на экран.
- Элементы удаляются из очереди до ее полного опустошения.
🛠️
VecDeque
в Rust предоставляет гибкий и эффективный способ работы с очередями, позволяя легко реализовывать различные алгоритмы и структуры данных, где требуется быстрый доступ как к первому, так и к последнему элементу.#Rust #Programming #DataStructures #VecDeque
@rust_journey
👍9❤3🔥2
Линус Торвальдс о вхождении Rust в ядро Linux!
В интервью Торвальдс делится своими мыслями о языке программирования Rust и его потенциальном влиянии на ядро Linux.
🎥 Смотреть интервью: Линус Торвальдс о Rust в составе ядра Linux
🔗 Связанные ресурсы:
1) Язык программирования Rust
2) Разработка ядра Linux
Как думаете в будущем ядро перепишут полностью на Rust?
#Linux #RustLang #OpenSource #Programming
Rust Journey
В интервью Торвальдс делится своими мыслями о языке программирования Rust и его потенциальном влиянии на ядро Linux.
🎥 Смотреть интервью: Линус Торвальдс о Rust в составе ядра Linux
🔗 Связанные ресурсы:
1) Язык программирования Rust
2) Разработка ядра Linux
Как думаете в будущем ядро перепишут полностью на Rust?
#Linux #RustLang #OpenSource #Programming
Rust Journey
YouTube
Torvalds Speaks: Rust's Impact on the Linux Kernel
🚀 **Linux Torvalds Reveals Insights on Rust Programming Language!**
In this exclusive interview, dive deep into the world of open-source programming as Linux creator Linus Torvalds shares his thoughts on the Rust programming language. Learn about the potential…
In this exclusive interview, dive deep into the world of open-source programming as Linux creator Linus Torvalds shares his thoughts on the Rust programming language. Learn about the potential…
👍8🔥4❤1👏1
Асинхронное программирование в Rust
Привет, пора вкатываться понемногу в асинхронщину. Рекомендую посмотреть этот урок
Intro to async/.await in Rust
#rust #async #await
@rust_journey
Привет, пора вкатываться понемногу в асинхронщину. Рекомендую посмотреть этот урок
Intro to async/.await in Rust
#rust #async #await
@rust_journey
YouTube
Intro to async/.await in Rust
In today's video I'm diving into the async/.await model in Rust!
#rust #programming #tutorial
#rust #programming #tutorial
👍8❤4🔥3