我怎么只能拔出Duration
而不是*
?只能抽出seconds
吗?
use chrono::*;
// Returns a Utc DateTime one billion seconds after start.
pub fn after(start: DateTime<Utc>) -> DateTime<Utc> {
start + Duration::seconds(1000000000)
}
答案 0 :(得分:4)
无法仅导入类型的方法。请注意,Duration::seconds
不是方法,而是associated function。您也不能直接导入它们。
如果您真的想要这样的东西,我会看到两个选择:
新的委派功能
fn seconds(x: i64) -> chrono::Duration {
chrono::Duration::seconds(x)
}
这简单明了。
静态函数指针
您可以将Duration::seconds
绑定到静态函数指针:
static seconds: fn(i64) -> chrono::Duration = chrono::Duration::seconds;
这将创建警告,因为静态变量应使用大写名称。我不会做这样的事情。
请重新阅读The Rust Programming Language的标题为The Module System to Control Scope and Privacy的章节。在您进入glob operator的语法之前,您必须阅读许多部分。这些部分回答了您的第一个问题:
use chrono::Duration;
您输入要导入的items的名称。可导入的项目包括: