Rust-slices
提供:Dev Guides
錆-スライス
スライスは、メモリブロックへのポインタです。 スライスを使用して、連続したメモリブロックに格納されているデータの一部にアクセスできます。 配列、ベクトル、文字列などのデータ構造で使用できます。 スライスはインデックス番号を使用してデータの一部にアクセスします。 スライスのサイズは実行時に決定されます。
スライスは、実際のデータへのポインターです。 関数への参照によって渡されます。これは借用とも呼ばれます。
たとえば、スライスを使用して文字列値の一部をフェッチできます。 スライスされた文字列は、実際の文字列オブジェクトへのポインタです。 したがって、文字列の開始インデックスと終了インデックスを指定する必要があります。 配列と同様に、インデックスは0から始まります。
構文
最小インデックス値は0で、最大インデックス値はデータ構造のサイズです。 end_indexは最終文字列に含まれないことに注意してください。
次の図は、9文字のサンプル文字列_Tutorials_を示しています。 最初の文字のインデックスは0で、最後の文字のインデックスは8です。
次のコードは、文字列から5文字を取得します(インデックス4から開始)。
出力
図-整数配列のスライス
main()関数は、5つの要素を持つ配列を宣言します。 * use_slice()*関数を呼び出して、3つの要素のスライス(データ配列を指す)を渡します。 スライスは参照渡しされます。 use_slice()関数は、スライスの値とその長さを出力します。
出力
可変スライス
- &mut *キーワードを使用して、スライスを可変としてマークできます。
出力
上記のコードは、可変スライスを_use_slice()_関数に渡します。 この関数は、元の配列の2番目の要素を変更します。