美文网首页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

    self表示调用方法的对象,作为类方法的第一个参数,类似于C++中的this。 Self表示调用者的类型。 Rus...

  • Rust Self

    原文链接:https://blog.csdn.net/KeenCryp/article/details/84800...

  • Swift中self和Self

    是什么 相信大家都知道self这个关键字的具体作用,它跟OC里的self基本一样。但是对于Self来说...(WT...

  • Swift基础知识

    一、self和Self 1、self出现在对象方法中,self就代表对象。self出现在类方法中,就代表类。2、S...

  • Swift中Self和self的区别

    当编写protocol和针对protocol进行扩展时,Self(大写S)和self(小写S)之间存在差异。当与大...

  • Objective-C中的self和super

    发送消息给self和super @注意:OC中的self和JAVA中的self有些不同: 1> 在动态方法中,se...

  • php中"self"和"this", "->"和"::"符号的区

    参考文章:php 中self,this的区别和实地操作 1.self ①self可以访问本类中的静态属性和静态方法...

  • 05-self、super、封装、继承、多态

    self、super、封装、继承、多态 self self用于调用本类中的方法 前提: self不能离开类, 离开...

  • [Python] 使用new构造单例模式

    1. self 和 cls 首先来简要介绍一下类中的self和cls,如下栗: 调用foo1: 可以发现self和...

  • oc 中 self 、super 的使用

    self 对象方法中的 self 是当前对象,可以访问属性和方法,不能访问类方法类方法中的 self 是类在代码段...

网友评论

    本文标题:RUST中的self和Self

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