第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

【九月打卡】第7天 結(jié)構(gòu)體類型

標(biāo)簽:
活動

课程章节: 第3章 Rust基本数据类型 3.10 结构体

主讲老师叶枭

课程内容:

今天学习的内容是 Rust 中的结构体类型

结构体是一种用户自定义的数据类型,它是多种不同数据类型的组合。

结构体类型使用关键字 struct 声明,有三种类型的结构体:

  • 无字段的单元结构

  • 元组结构

  • 经典的 C 结构

结构体类型的命名采用大驼峰命名规则,下面看具体的介绍。

单元结构体(unit struct )

这种结构体类型没有字段定义,使用关键字 struct 进行声明,随后是其名称,并用分号作为结尾。比如:

struct Unit;
fn main() {
  let unit = Unit;
}  

这种结构体类型用的非常少。

元组结构体(tuple struct )

同样使用 struct 进行声明,后面跟类型名称,最后使用元组类型来定义结构体内容。比如:

struct Color(i32, i32, i32);

虽然没有显式的为结构体中的每个字段命名,但是一个元组结构体类型是具有明确的类型名称的。比如这个例子就声明了 Color 类型的元组结构体。

初始化一个元组结构体:

let color = Color(255, 255, 255);

元组结构体的访问,和元组类型一样,可以使用 . 语法,可以使用索引,可以使用模式匹配,比如:

println!("{}", color.0); // 255

类 C 结构体

使用 struct 声明,后面跟着结构体类型的名称,再后面使用一对大括号来声明该类型有哪些字段。比如声明一个 User 类型的结构体:

struct User {
    name: String,
    age: u32,
}

结构体中的每个字段使用 , 进行分隔,最后一个字段可以省略。

初始化一个 User 结构体实例:

let user = User {
    name: String::from('kw'),
    age: 18
}

访问结构体中的字段可以使用 . 运算符和模式匹配:

println!("名字:{}, 年龄:{}", user.name, user.age); // 名字:kw, 年龄:18

JSer 可以发现,这种类 C 结构体,非常像是 JS 中的普通对象。其实它们两者的意义也非常一致,就是能自定义更加复杂的数据类型,来应对更复杂的类型结构。

在 Rust 中,使用两个点 .. 来实现快速复用一个现成的结构体实例:

struct User {
  name: String,
  age: u32,
}

fn main() {
  let user1 = User {
    name: String::from("user1"),
    age: 18,
  };

  let user2 = User {
    name: String::from("user2"),
    ..user
  };


  println!("名字:{}, 年龄:{}", user2.name, user2.age); 
}

打印的结果是 名字:user2, 年龄:18 ,说明 user2name 是初始化时设置的值,并复用了 user1age 字段的值。

课程收获

这节课学习了 Rust 中的结构体类型, 包括三类:单元结构体,元组结构体和类 C 结构体,其中类 C 结构体是使用最广泛的一种结构体类型。
图片描述

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消