我是 Rust 的新手,我正在阅读 Dining Philosophers' tutorial当我发现这个时:
Mutex::new(())
我不知道 new
里面的参数是什么意思。我读了documentation for Mutex
我仍然不知道这意味着什么。如果能解释一下幕后发生的事情,我将不胜感激。
最佳答案
()
是空的 tuple , 也称为 unit type -- 没有成员类型的元组。它也是所述类型的唯一有效值。它有 a size of zero (请注意,它仍然是 Sized
,只是大小为 0),使其在运行时不存在。这有几个有用的效果,这里使用了其中之一。
在这里,()
用于创建 Mutex
没有拥有的数据——它只是一个可解锁和可锁定的互斥体。如果我们用 turbofish operator 显式写出类型推断::<>
,我们也可以这样写:
Mutex::<()>::new( () )
也就是说,我们正在创建一个 new
Mutex
包含 ()
初始值为 ()
.
关于rust - () 作为函数中的参数意味着什么,其中需要 T 类型的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35546288/