Перечисления Перечисления существуют во многих языках программирования, но их возможности различаются в каждом языке. Перечисления Rust аналогичны алгебраическим типам данных в функциональных языках, таких как F#, OCaml и Haskell. Функция `match` Rust полезна в сочетании с перечислениями, что позволяет легко запускать разный код для разных значений перечисления. Базовые перечисления Давайте посмотрим, как мы можем расширить список моих домашних животных с помощью my dog, используя перечисления. Сначала создадим перечисление, представляющее виды домашних животных, которые у нас есть, и запишем нашу структуру в Pet, которая принимает вид домашнего животного в качестве перечисления. Здесь мы определили два вида домашних животных: собаку и кошку. Теперь мы можем написать функцию, которая cможет вводить домашних животных и, наконец, создавать наших питомцев и выводить их всех на консоль. Обратите внимание, что для печати строки для нашего перечисления нам пришлось добавить атрибут `#[derive