Rust結構體關聯函式

2022-09-19 21:48:21 字數 551 閱讀 2115

除了 方法,rust塊還允許我們定義不用接收 self 作為引數的函式。由於這類函式與結構體相互關聯,所以它們也被稱為關聯函式(associated function)。我們將其命名為函式而不是方法,是因為它們不會作用域某個具體的結構體例項。比如,曾經接觸過的string::from就是關聯函式的一種。

關聯函式常常被用作構造器來返回乙個結構體的新例項。

示例程式:

#[derive(debug)]

struct user

impl user , i am {} years old.", self.name, self.age);

}fn new(name: string, age: u32) -> user

}}fn main() ", user1); // 輸出 user

}

上述程式中,我們為結構體型別 user 定義了乙個關聯函式 new,並使用其(user::new)建立了乙個新的 user 例項 user1。

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...