Литерал структуры
Литерал структуры в Rust используется для создания экземпляра структуры. Он позволяет задать значения для всех полей структуры непосредственно в месте создания. Синтаксис литерала структуры включает имя структуры, за которым следуют фигурные скобки с перечислением полей и их значений через запятую. Каждое поле указывается в формате имя_поля: значение. Литерал структуры является основным способом создания экземпляров структур с именованными полями.
Синтаксис
let переменная = ИмяСтруктуры {
поле1: значение1,
поле2: значение2,
// ...
};
Пример
Давайте создадим структуру Point с двумя полями и создадим её экземпляр с помощью литерала структуры:
struct Point
{
x: i32,
y: i32,
}
fn main()
{
let p = Point { x: 10, y: 20 };
println!("x: {}, y: {}", p.x, p.y);
}
Результат выполнения кода:
x: 10, y: 20
Пример
Литерал структуры можно использовать для создания изменяемого экземпляра и последующего изменения его полей:
struct Point
{
x: i32,
y: i32,
}
fn main()
{
let mut p = Point { x: 1, y: 2 };
p.x = 100;
p.y = 200;
println!("x: {}, y: {}", p.x, p.y);
}
Результат выполнения кода:
x: 100, y: 200
Пример
Если переменная и поле имеют одинаковое имя, можно использовать сокращённую запись:
struct Point
{
x: i32,
y: i32,
}
fn main()
{
let x = 5;
let y = 15;
let p = Point { x, y };
println!("x: {}, y: {}", p.x, p.y);
}
Результат выполнения кода:
x: 5, y: 15
Смотрите также
-
ключевое слово
struct,
которое используется для определения структуры -
доступ к полям
field access,
который позволяет читать и изменять значения полей структуры -
синтаксис обновления
update syntax,
который позволяет создавать новую структуру на основе существующей -
деструктуризация
destructure,
которая позволяет извлекать значения полей из структуры