Rustのuse
module内のアイテムを現在のスコープに持ち込むために使う
TSでの import { hoge } from 'hoge'
に相当
例
main.rsmod my_module;
use my_module::greet;
fn main() {
greet();
}
use
することで my_module::greet()
ではなく greet()
として呼び出せている
self
例えば、 use std::io::{self}
と書いた時、 std::io
module全体を現在のスコープにimportする
以下はほぼ同じ意味
1.rsuse std::io;
use std::io::{Write};
2.rsuse std::io::{self, Write};
1.rs
の簡潔な書き方としての、 2.rs
のようなもの
コード内では、
rsio::stdout().write_all(b"hello").unwrap();
みたいにして、 io::なんか
みたいにしてmoduleにアクセスできる
以下も同じ意味
4.rs
は冗長な書き方をしてるだけ
ただし、標準libraryである場合は、わざわざ mod std
と書く必要がない
mod std
と明示的に書かずとも、 use std::hoge
できる
rsuse std::fs;
use std::path::Path;
可読性が下がるとのこと、まあそうかも