Объявление структуры struct
Ключевое слово struct объявляет
структуру - именованный составной тип данных,
который объединяет несколько связанных значений
(полей) в один объект. Каждое поле структуры
имеет имя и тип. Объявление структуры начинается
с ключевого слова struct, за которым
следует имя структуры и список полей в фигурных
скобках. Имя структуры задаётся в стиле
UpperCamelCase.
Синтаксис
struct Name
{
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
Пример
Давайте объявим структуру User
с полями разных типов и выведем их значения:
struct User
{
name: String,
age: u8,
}
fn main()
{
let u = User {
name: String::from("abcde"),
age: 25,
};
println!("{} {}", u.name, u.age);
}
Результат выполнения кода:
abcde 25
Пример
Давайте объявим структуру с изменяемым полем и поменяем его значение через экземпляр:
struct Counter
{
value: i32,
}
fn main()
{
let mut c = Counter { value: 0 };
c.value = 5;
println!("{}", c.value);
}
Результат выполнения кода:
5
Смотрите также
-
ключевое слово
struct,
которое объявляет именованную структуру -
кортежная структура
tuple struct,
которая объявляет структуру с безымянными полями -
обращение к полям
field access,
которое позволяет читать и менять значения полей -
литерал структуры
literal,
который создаёт экземпляр структуры через фигурные скобки