美文网首页RUST
RUST中的self和Self

RUST中的self和Self

作者: 一代码宗师 | 来源:发表于2019-02-17 13:51 被阅读0次
    • self表示调用方法的对象,作为类方法的第一个参数,类似于C++中的this。
    • Self表示调用者的类型。
    impl Clone for MyType {
        // 可以直接写具体类型
        fn clone(&self) -> MyType;
        // 也可以用Self代替
        fn clone(&self) -> Self;
    }
    
    impl MySuperLongType {
        // 用Self写起来更短
        fn new(a: u32) -> Self { ... }
    }
    

    Rust中函数参数均需要注明类型,但是self则不需要,这是一个语法糖(syntactic sugar),以下示例中两两等价:

    impl MyType{
        fn doit(self){}
        fn doit(self: Self){}
    
        fn doit(&self) {}
        fn doit(self: &Self){}
    
        fn doit(&mut self) {}
        fn doit(self: &mut Self) {}
    }
    

    相关文章

      网友评论

        本文标题:RUST中的self和Self

        本文链接:https://www.haomeiwen.com/subject/vrsgeqtx.html