[英]How does Rust's 128-bit integer `i128` work on a 64-bit system?
[英]How does the import/module system in Rust work?
我目前正在学习Rust。 我刚刚掌握了借用系统,但是我不知道模块系统如何工作。
要导入extern模块,我必须编写extern crate sdl2;
。 但是,如果我想导入一个非外部包装箱怎么办?
我知道我可以使用mod
定义一个模块,例如:
mod foo {
fn bar(length: i32) -> Vec<i32> {
let mut list = vec![];
for i in 0..length + 1 {
if list.len() > 1 {
list.push(&list[-1] + &list[-2]);
} else {
list.push(1);
}
}
list
}
}
并与foo::
在同一文件中使用它,但是如何使用其他文件中的函数/模块呢?
仅出于细节考虑,请考虑以下设置:
.
|-- Cargo.lock
|-- Cargo.toml
`-- src
|-- foo.rs
`-- main.rs
所以在src / foo.rs中,我有:
fn bar(length: i32) -> Vec<i32> {
let mut list = vec![];
for i in 0..length + 1 {
if list.len() > 1 {
list.push(&list[-1] + &list[-2]);
} else {
list.push(1);
}
}
list
}
我想在src/main.rs
使用它。 当我尝试use foo::bar
,我得到:
|
1 | use foo::bar;
| ^^^^^^^^ Maybe a missing `extern crate foo;`?
将函数放入mod foo {...}
,出现相同的错误。
如果有关于该主题的任何文章,请给我链接,因为除了Rust Book之外我什么也没有。
将此声明添加到您的main.rs
文件中:
mod foo;
它的作用类似于:
mod foo { include!("foo.rs") }
尽管它知道如果没有foo.rs
文件,但是有一个foo/mod.rs
文件来代替它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.