Если вы новичок в Rust, то трейты `From` и `Into` могут показаться вам запутанными, но это интересные системы характеристик Rust. В этой статье мы будем изучать трейты характеристик на примерах. Характеристики `From` и `Into` по своей сути связаны, и на самом деле это части реализации трейта. Если вы можете преобразовать тип `A` из типа `B`, то должно быть так же легко преобразовать тип `B` в тип `A`. Трейт From Трейт From предоставляет возможность создать характеристику преобразования, он позволяет вам преобразовывать значения одного типа в значения другого типа. Например, стандартная библиотека реализует `impl From<&'_ str> for String`, который позволяет вам генерировать строку из `&str`. Например, мы можем легко преобразовать срез `&str` в строку: Другой пример характеристики: Предположим, мы хотим реализовать нашу собственную характеристику `From<String> for SplitName`. Это позволило бы нам разделить любое заданное имя, разделенное пробелом, на структуру, содержащую имя и фамилию.