今日の一言です。(プログラミング言語 Rust)
Vecの添え字はusizeで
NGパターン
fn main() {
let mut numbers: Vec<i32> = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);
let i: i32 = 0;
let number = numbers[i]; // iがi32なのでコンパイルエラー
println!("{}", number);
}
OKパターン
fn main() {
let mut numbers: Vec<i32> = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);
let i: usize = 0;
let number = numbers[i]; // iがusizeなのでOK
println!("{}", number); // 10と表示される
}
参考URL
https://doc.rust-lang.org/std/vec/struct.Vec.html