使用 stdenvargs()
你可以使用 std::env::args()
函式訪問傳遞給程式的命令列引數。這將返回一個 Args
迭代器,你可以將其迴圈或收集到 Vec
中。
通過引數迭代
use std::env;
fn main() {
for argument in env::args() {
if argument == "--help" {
println!("You passed --help as one of the arguments!");
}
}
}
收集到 Vec
use std::env;
fn main() {
let arguments: Vec<String> = env::args().collect();
println!("{} arguments passed", arguments.len());
}
如果你這樣呼叫你的程式,你可能會得到比你預期的更多的引數:
./example
雖然看起來沒有傳遞任何引數,但第一個引數( 通常 )是可執行檔案的名稱。這不是一個保證,所以你應該總是驗證並過濾你得到的引數。