码迷,mamicode.com
首页 > 其他好文 > 详细

Rust 结构体

时间:2018-08-03 18:08:24      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:count   一个   结构   函数   rectangle   python   rect   class   多个   

结构体定义:

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);

 

Rust 结构体

标签:count   一个   结构   函数   rectangle   python   rect   class   多个   

原文地址:https://www.cnblogs.com/kwebi/p/9415355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!