Поля структуры
Поля структуры - это именованные элементы, которые хранят данные внутри экземпляра структуры. Каждое поле имеет своё имя и тип данных. Поля позволяют группировать связанные значения в единый объект. При создании экземпляра структуры каждому полю присваивается конкретное значение.
Синтаксис
struct StructName
{
field1: Type1,
field2: Type2,
}
Пример
Давайте объявим структуру Point с двумя
полями x и y, а затем создадим
её экземпляр и выведем значения полей:
struct Point
{
x: i32,
y: i32,
}
fn main()
{
let p = Point { x: 1, y: 2 };
println!("x = {}, y = {}", p.x, p.y);
}
Результат выполнения кода:
x = 1, y = 2
Пример
Поля могут быть изменяемыми, если экземпляр
структуры объявлен как mut. Давайте
изменим значение поля x:
struct Point
{
x: i32,
y: i32,
}
fn main()
{
let mut p = Point { x: 1, y: 2 };
p.x = 10;
println!("x = {}, y = {}", p.x, p.y);
}
Результат выполнения кода:
x = 10, y = 2
Пример
Поля могут иметь разные типы данных. Давайте
объявим структуру Person с полями
name и age:
struct Person
{
name: String,
age: u8,
}
fn main()
{
let p = Person {
name: String::from("abcde"),
age: 25,
};
println!("{} is {}", p.name, p.age);
}
Результат выполнения кода:
abcde is 25
Смотрите также
-
ключевое слово
struct,
которое объявляет структуру с именованными полями -
доступ к полям
field access,
который позволяет читать и изменять значения полей -
видимость полей
field visibility,
которая управляет доступом к полям из других модулей -
литерал структуры
struct literal,
который создаёт экземпляр структуры с указанием значений полей