struct 是命名并封装数个栏位数值所组合的自订型别
struct 有 3 种类型
前几篇所讲的元组型别(tupl),只要元组包含少量的字段就很好用但是当字段一多就容易将它们搞混
并且代码也很容易理解
例如下面的代码,不能很轻易的知道哪个字段相加,而且元组型别是有序的如果在开头增加字段哪变成後面的字段都需要往後递延非常不直觉
let data = (1, 'a', 'b', 199.199, true, -100);
println!("{}", data.0 + data.5);
这时候使用结构体(Struct)就非常有用,可以为字段命名并标示型别
它以struct关键字开头後面接着要声明的类型再以大括号包起来
例如
// 经典的C语言风格结构体(C struct)
struct User {
username: String,
email: String,
active: bool,
}
let user = User {
email: String::from("[email protected]"),
username: String::from("user123"),
active: true,
};
println!("{} {} {}", user.email, user.username, user.active)
元组结构,拥有元组型别和结构两个特性又不完全一样
实际上这种结构不常使用
struct User(String, String, bool);
let user = User(
String::from("[email protected]"),
String::from("user123"),
true,
);
println!("{} {} {}", user.0, user.1, user.2)
单元结构体
单元结构体适合用在当要实作一个特徵(trait)或某种型别,但没有任何需要储存在型别中的资料
struct AlwaysEqual;
let subject = AlwaysEqual;
在Day7时候有提到排序法的简介,并且简介常见的6个演算法,在Icebear学习5天JS语法之後,在...
物联网(IoT)的重大发展促进了日常生活中连网设备的激增。 从智能家庭到自动化医疗保健应用,物联网无...
如果某天我们在写大型专案,需要用上大量的组件,这是时候就可以用上非同步的组件,在需要时载入需要的组件...
Hello,各位好! 虽然已经完成比赛了,但还是想追加一篇来聊聊我的参赛感想,也作为初次参与铁人赛的...
连载动机 藉由 30 天笔记, 将学习 React 相关的知识整理起来, 以便日後回头参照。 主要参...