×
Rust教程Rust简介Rust的特点Rust开发环境安装Rust第一个程序

控制语句

Rust if语句Rust if in a let语句Rust loop循环Rust for循环Rust while循环

Rust所有权

Rust所有权Rust引用和借用Rust切片

Rust结构体

Rust结构体Rust结构体更新语法Rust结构体方法语法

Rust枚举

Rust枚举匹配运算符Rust if let控制流程

Rust模块

Rust模块Rust文件系统Rust公开函数Rust use关键字引用模块

Rust集合

Rust向量Rust字符串

Rust错误处理

Rust错误处理Rust不可恢复的错误Rust可恢复的错误

Rust泛型与性状

Rust泛型Rust TraitRust生命周期

Rust智能指针

Rust智能指针Rust Box<T>Rust Deref traitRust Drop trait

Rust结构体方法语法


方法类似于函数,因为它们在startthen函数名称中包含fn关键字。 方法还包含参数和返回值。 但是,当在struct上下文中声明方法时,方法语法与正常函数不同。这些方法的第一个参数始终是self,它表示调用函数的实例。

定义方法

struct上下文中声明方法时定义方法。

struct Square  
{  
    a : u32,  
}  
impl Square  
{  
    fn area(&self)->u32  
    {  
        self.a * self.a  
    }  
}  

fn main()  
{  
    let square = Square{a:10};  
    print!("Area of square is {}", square.area());  
}

执行上面示例代码,得到以下结果 -

Area of square is 100

当在struct上下文中声明方法时,定义实现块内的方法,即impl块。

impl Square  
{  
    fn area(&self)->u32  
    {  
        self.a * self.a  
    }  
}

第一个参数是签名中的self,可在主体内的任何位置。

在这里,使用方法语法来调用area()函数。 方法语法是一个实例,后跟点运算符,方法名称,参数和任何参数。

square.area();

square是实例,area()是函数名称。

注意:如果想要更改调用该方法的实例,那么使用&mut self而不是&self作为第一个参数。

方法语法的优点:

使用方法语法而不是函数的主要优点是,与实例相关的所有数据都放在impl块中,而不是放在impl块之外的其它位置。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)