今回はRustで配列、Vectorで数値での初期化について解説します。
配列
コンパイル時にサイズが確定している必要があります。
OK
fn func() { const SIZE: usize = 10; let array: [usize; 10] = [1; SIZE]; println!("{:?}", array); } [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
NG
「expected value, found builtin type usize
」でエラーとなる
fn func(size:usize) { let array: [usize; 10] = [1; usize]; <- ここ println!("{:?}", array); }
Vector
Vector型の初期化はVec::new()
もしくはマクロのvec![]
で行えます。
OK
fn func() { const SIZE: usize = 10; let v = vec![1; SIZE]; println!("{:?}", v); } [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
OK
fn func(size: usize) { let v = vec![1; size]; println!("{:?}", v); } [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]