个性化阅读
专注于IT技术分析

什么是结构?Rust结构用法

本文概述

结构是用户定义的数据类型, 由不同数据类型的变量组成。通过在结构名称之前使用struct关键字定义结构。结构成员括在大括号内。在大括号内, 用其名称和类型定义结构成员, 并且结构成员也称为字段。

结构的语法

struct Student
{
member-variable1;
member-variable2;
.
.
}

在以上语法中, 结构是通过使用关键字struct定义的。结构包含不同类型的变量。

如何声明结构实例

let user = Student{
// key:value pairs;
}

在上面的声明中, 用户是Student结构的实例。通过使用结构名称和大括号来定义它。大括号包含key:value对, 其中keys是字段的名称, 而value是我们要存储在key字段中的数据。

让我们创建一个员工结构:

struct Employee{
employee_name : String, employee_id: u64, employee_profile: String, active: bool, }

员工结构实例:

let employee = Employee{
employee_name : String::from("Akshay Gupta"), employee_id: 12, employee_profile : String::from("Computer Engineer"), active : true, };

如何访问结构的特定成员变量?

我们可以使用点表示法来访问结构的特定成员变量。假设我们要访问Employee结构的employee_name变量, 则它看起来像:

employee.employee_name;

注意:如果要使用点符号来更改特定字段的值, 则必须使实例可变, 因为Rust不允许特定字段可变。

let mut employee = Employee{
employee_name : String::from("Akshay Gupta"), employee_id: 12, employee_profile : String::from("Computer Engineer"), active : true, };
employee.employee_name = String :: from("Akhil Gupta");

在函数体内创建一个实例:

fn create_employee(name:String, profile:String)
{
Employee{
employee_name:name, employee_id:12, employee_profile:profile, active:true, }
}

在上面的示例中, 在函数体内隐式创建了Employee结构的实例。 create_employee()函数返回具有给定名称和配置文件的Employee结构的实例。

当传递给函数的参数和字段具有相同的名称时, 请使用Field Init简写。

当变量和字段名称相同时, Rust提供了使用字段初始化速记的灵活性。无需重复字段和变量。

fn create_employee(employee_name:String, employee_profile:String)
{
Employee{
employee_name, employee_id:12, employee_profile, active:true, }
}

在上面的示例中, 参数和字段的名称相同。因此, 无需编写employee_name:employee_name, 可以直接将其写为employee_name。


赞(0) 打赏
未经允许不得转载:srcmini » 什么是结构?Rust结构用法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏