Rust 结构体
Posted kwebi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust 结构体相关的知识,希望对你有一定的参考价值。
结构体定义:
struct User { username: String, email: String, sign_in_count: u64, active: bool, }
这样可以定义一个结构体。
当已有一个结构体User1时:
let user2 = User { email: String::from("[email protected]"), username: String::from("anotherusername567"), ..user1 };
可以这样把剩余的字段赋值为和user1相同的值。
元组结构体
struct Point(i32, i32, i32); let origin = Point(0, 0, 0);
这样便定义了一个元组结构体,在你希望命名一个元组时很有用。
方法
结构体内可以实现方法:
struct Rectangle { width: u32, height: u32, } impl Rectangle { fn area(&self) -> u32 { self.width * self.height } }
这样调用:
let rect1 = Rectangle { width: 30, height: 50 }; rect1.area();
一个impl内可以实现若干方法,一个结构体也可以有多个impl。
关联函数
impl Rectangle { fn square(size: u32) -> Rectangle { Rectangle { width: size, height: size } } }
这样调用关联函数:
let sq = Rectangle::square(3);
以上是关于Rust 结构体的主要内容,如果未能解决你的问题,请参考以下文章
2022-11-14:rust语言,请使用过程宏给结构体AAA生成结构体AAABuilder和创建AAABuilder实例的方法。 宏使用如下: #[derive(Builder)] pub stru