Rust結構體更新語法

2022-09-19 20:54:11 字數 791 閱讀 7717

我們在定義乙個新的結構體變數時可以使用已有的成員的屬性來更新。

下面的程式使用結構體更新語法根據其他結構體例項建立新的結構體例項。

示例程式:

struct student 

fn main() ;

println!("{} {} {} {} {}", stu1.name, stu1.chinese, stu1.math, stu1.science, stu1.english); // 輸出 yuyoubei 90 100 95 95

let stu2 = student ;

println!("{} {} {} {} {}", stu2.name, stu2.chinese, stu2.math, stu2.science, stu2.english); // 輸出 yihan 99 100 95 95

let stu3 = student ;

println!("{} {} {} {} {}", stu3.name, stu3.chinese, stu3.math, stu3.science, stu3.english); // 輸出 yihan 99 100 95 95

}

程式中,定義 stu2 時除 name 和 chinese 字段,其餘均與 stu1 同;定義 stu3 時的所有屬性均與 stu2 同。

使用..結構體變數的形式,在定義乙個新的結構體時,將預設的屬性都定義成與..後的結構體變數相同。

Rust學習 結構體

討論元組和結構體,比較 對比 如何定義和例項化結構體 如何定義關聯函式 一 結構體 使用struct 關鍵字宣告 struct user 例項可變可以使用點號修改結構體某個字段。rust不允許只將乙個不可變的結構體中某個字段標記為可變。元組結構體 1.給元組命名 2.使元組成為與其他元組不同的型別 ...

rust筆記5結構體

結構體的基本定義方式和使用方式 struct user fn main 上述的結構體是不可變的,如果想要在執行的時候改變結構體的值,需要宣告為可變的結構體 struct user fn main user2.username string from foo1 如果我們想用預設值的方式制定結構,可以利...

rust對結構體排序

use std cmp ordering use rand rng 匯入外部的包.記得修改toml檔案 保證age是可比較的 pub struct person t std cmp partialord 注意泛型t的位置 impl t person t where t std cmp partial...