配列
fn main() { let mut a: [i8; 10] = [42; 10]; a[5] = 0; println!("a: {a:?}"); }
This slide should take about 5 minutes.
-
配列型
[T; N]
には、同じ型T
のN
(コンパイル時定数)個の要素が保持されます。なお、配列の長さはその型の一部分です。つまり、[u8; 3]
と[u8; 4]
は 2 つの異なる型とみなされます。スライス(サイズが実行時に決定される)については後で説明します。 -
境界外の配列要素にアクセスしてみてください。配列アクセスは実行時にチェックされます。Rust では通常、これらのチェックを最適化により除去できます(Unsafe Rust を使用することで回避できます)。
-
リテラルを使用して配列に値を代入することができます。
-
println!
マクロは、?
形式のパラメータを使用してデバッグ実装を要求します。つまり、{}
はデフォルトの出力を、{:?}
はデバッグ出力を提供します。整数や文字列などの型はデフォルトの出力を実装しますが、配列はデバッグ出力のみを実装します。そのため、ここではデバッグ出力を使用する必要があります。 -
#
を追加すると(例:{a:#?}
)、読みやすい「プリティ プリント」形式が呼び出されます。