Rust ベクタ(可変配列)の値を取得する

  • 作成日 2022.08.13
  • 更新日 2022.12.03
  • Rust
Rust ベクタ(可変配列)の値を取得する

Rustで、ベクタ(可変配列)の値を取得するサンプルコードを記述してます。Rustのバージョンは1.62.1を使用してます。

環境

  • OS windows11 home
  • rustc 1.62.1

ベクタ(可変配列)の値を取得

ベクタ(可変配列)の値を取得するには「get()」か「[]」を使用します。

ベクタ.get(インデックス番号)

ベクタ[インデックス番号]

実際に使用してみます。

fn main() {

    let arr = vec!["aaa", "bbb", "ccc"];    
  
    println!("{:?}", arr.get(0)); // Some("aaa")
    println!("{:?}", arr.get(1)); // Some("bbb")
    
    println!("{:?}", arr[0]); // "aaa"
    println!("{:?}", arr[1]); // "bbb"

}

実行結果を見ると、取得されていることが確認できます。

存在しないインデックス番号を指定

存在しないインデックス番号を指定していすると「get」は「None」が返り、

fn main() {

    let arr = vec!["aaa", "bbb", "ccc"];    
  
    println!("{:?}", arr.get(3)); // None
    
}

「[]」はエラーとなります。

fn main() {

    let arr = vec!["aaa", "bbb", "ccc"];    
  
    println!("{:?}", arr[3]); 
  // thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 3'
    
}

エラー画面

複数個取得

複数個取得する場合は「..」を使用します。

fn main() {

    let arr = vec!["aaa", "bbb", "ccc"];    
  
    println!("{:?}", arr.get(..2)); // Some(["aaa", "bbb"])
    
}