Сервера раст - Добро пожаловать!
Подключайтесь к лучшим серверам Rust, играйте в раст прямо сейчас! Просмотрите статистику и текущих игроков, выберите свой путь в мире выживания на серверах Rust.
Обсуждение на тему: Rust option
Rust option
Option types are very common in rust code, as they have a number of uses initial values. Return values for functions that are not defined over their entire input range (partial functions). Notice that in order to use the inner i32 value, the checkoptional function first needs to use pattern matching to determine whether the box has a value (i. Let optional none checkoptional(optional) это можно сделать с помощью перечисления option. Перечисление optiont имеет два варианта none, указывающий о наличии ошибки или отсутствия значений.
Целочисленное деление, которое не вызывает panic! Fn checkeddivision(dividend i32, divisor i32) - optioni32 if divisor 0 . Instead, rust provides two special generic enumsoption and result to deal with above cases. In the previous sections, we have discussed about the basics of enums, generics and result & option types. As you know, an optional value can have either some value or no value none. Because there are no null pointers in rust, the pointer types should point to a valid location.
Более того, мы попробуем раз за разом погружаться в обработку ошибок с различных сторон, так что под конец у вас будет уверенное практическое представление о том, как все это сходится воедино. В наивной реализации обработка ошибок в rust может выглядеть многословной и раздражающей. In rust, the option as well as the result are enumerations, also referred to as enums. Lets first look at an example enum enum example this, that rust provides a robust way to deal with optional values.
Experienced rust programmers would probably have the struct members be string slices, but that would require use of lifetimes, which is outside the scope of this post. Rust defines an option as such, where t and (t) denote that it handles a generic type, meaning that t could be an int, a str, a vec, or anything else, even other option types. Since we can see an option as a box, or encapsulation type, we need to be able to put things into the box, or take things out. .