Rust 結構體


結構體定義:

struct User {
    username: String,
    email: String,
    sign_in_count: u64,
    active: bool,
}

 這樣可以定義一個結構體。

當已有一個結構體User1時:

let user2 = User {
    email: String::from("another@example.com"),
    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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM