这两种为Rust通道克隆发件人的方式有什么区别?

只是一个学习者

在Rust的官方书籍16-11中,它通过

let (tx, rx) = mpsc::channel();
let tx1 = mpsc::Sender::clone(&tx);

但是我尝试过

let (tx, rx) = mpsc::channel();
let tx1 = tx.clone();

这也有效。它们之间有什么区别?如果它们本质上相同,为什么考虑我们已经有了通用clone()方法而创建一个单独的方法呢?

易卜拉欣·艾哈迈德(Ibraheem Ahmed)

的功能签名clone如下所示。请注意,它&self作为参数:

fn clone(&self) -> Sender<T>;

您可以通过显式传递来调用该函数&self

mpsc::Sender::clone(&tx);

或通过使用方法调用表达式

tx.clone();

方法调用表达式只是语法糖,尽管编译器确实必须执行更复杂的查找过程才能生成的正确引用类型self

请注意,这可与采用self以下方法的任何其他关联方法一起使用

pub struct Bar {}

impl Bar {
    fn bla(&self) {}
}

fn main() {
    let bar = Bar {};
    
    // these are equivalent
    bar.bla();
    Bar::bla(&bar)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这两种异步方法有什么区别?

来自分类Dev

这两种递归方法有什么区别

来自分类Dev

这两种PhysicsVector方法有什么区别?

来自分类Dev

这两种实现之间有什么区别?

来自分类Dev

这两种情况有什么区别?

来自分类Dev

这两种结构有什么区别

来自分类Dev

这两种函数声明有什么区别?

来自分类Dev

这两种语法有什么区别?

来自分类Dev

这两种 Scala 模式有什么区别?

来自分类Dev

这两种做法有什么区别:

来自分类Dev

这两种集群配置有什么区别?

来自分类Dev

这两种创建对象文字的不同方式有什么区别

来自分类Dev

这两种调用基类副本分配的方式有什么区别?

来自分类Dev

递归中这两种方式有什么区别?

来自分类Dev

这两种方式创建对象有什么区别?

来自分类Dev

这两种声明函数的方式有什么区别?

来自分类Dev

这两种执行TypeScript方法的方式有什么区别?

来自分类Dev

这两种编写结构的方式有什么区别?

来自分类Dev

这两种在python中定义列表的方式有什么区别?

来自分类Dev

这两种在C ++中实现函数的方式有什么区别?

来自分类Dev

这两种在vb .Net中进行编码的方式有什么区别

来自分类Dev

这两种在Keras中添加神经网络层的方式有什么区别?

来自分类Dev

这两种初始化String的方式有什么区别

来自分类Dev

这两种在TypeScript中声明映射的方式有什么区别?

来自分类Dev

这两种在Node.js中连接到MongoDB的方式有什么区别

来自分类Dev

这两种初始化HashMap的方式有什么区别?

来自分类Dev

这两种用JavaScript编写原型函数的方式有什么区别

来自分类Dev

这两种在C ++中实现函数的方式有什么区别?

来自分类Dev

这两种在python中定义列表的方式有什么区别?

Related 相关文章

  1. 1

    这两种异步方法有什么区别?

  2. 2

    这两种递归方法有什么区别

  3. 3

    这两种PhysicsVector方法有什么区别?

  4. 4

    这两种实现之间有什么区别?

  5. 5

    这两种情况有什么区别?

  6. 6

    这两种结构有什么区别

  7. 7

    这两种函数声明有什么区别?

  8. 8

    这两种语法有什么区别?

  9. 9

    这两种 Scala 模式有什么区别?

  10. 10

    这两种做法有什么区别:

  11. 11

    这两种集群配置有什么区别?

  12. 12

    这两种创建对象文字的不同方式有什么区别

  13. 13

    这两种调用基类副本分配的方式有什么区别?

  14. 14

    递归中这两种方式有什么区别?

  15. 15

    这两种方式创建对象有什么区别?

  16. 16

    这两种声明函数的方式有什么区别?

  17. 17

    这两种执行TypeScript方法的方式有什么区别?

  18. 18

    这两种编写结构的方式有什么区别?

  19. 19

    这两种在python中定义列表的方式有什么区别?

  20. 20

    这两种在C ++中实现函数的方式有什么区别?

  21. 21

    这两种在vb .Net中进行编码的方式有什么区别

  22. 22

    这两种在Keras中添加神经网络层的方式有什么区别?

  23. 23

    这两种初始化String的方式有什么区别

  24. 24

    这两种在TypeScript中声明映射的方式有什么区别?

  25. 25

    这两种在Node.js中连接到MongoDB的方式有什么区别

  26. 26

    这两种初始化HashMap的方式有什么区别?

  27. 27

    这两种用JavaScript编写原型函数的方式有什么区别

  28. 28

    这两种在C ++中实现函数的方式有什么区别?

  29. 29

    这两种在python中定义列表的方式有什么区别?

热门标签

归档