Structs

Rust Structs

Defining Structs

Rust structs define custom types with fields and methods.

Introduction to Rust Structs

In Rust, a struct is a custom data type that lets you name and package together multiple related values. These values, or fields, can have different types. Structs are a foundational part of Rust's type system and are used to create complex data types that model real-world entities.

Defining a Struct

To define a struct in Rust, you use the struct keyword followed by the struct name and its fields. Each field has a name and a type. Here is a basic example:

Instantiating a Struct

Once you have defined a struct, you can create instances of it, known as struct instances. To create an instance, specify the struct name, followed by curly braces containing key-value pairs for each field:

Accessing Struct Fields

Fields of a struct are accessed using dot notation. This allows you to read and modify the values of the fields:

Mutable Structs

To modify the fields of a struct, the instance must be mutable. You can make a struct instance mutable by using the mut keyword:

Tuple Structs

Tuple structs are a type of struct that do not have named fields; they are identified by the types of the fields and their order. Tuple structs are useful when you want to create a struct with a few fields without naming them:

Unit-Like Structs

Unit-like structs are structs that do not have any fields. They can be useful for implementing traits without storing data:

Conclusion

Rust structs provide a powerful way to create custom types in your programs. They allow you to group related data together and control access to it, enhancing your code's readability and maintainability. In the next post, we'll explore how to define methods for structs, extending their functionality further.