配列

配列(array)は、メモリ上の連続した位置に保存された項目のコレクションです。配列は、型が同じであるオブジェクトのグループを保存するよう設計された、集約的なデータ構造であり、オブジェクトのシーケンスを保存したりアクセスしたりする場合に最も効率の高いデータ構造です。

配列を宣言する方法

要素の型がintegerの配列を1つ作成する:

mut ages := [18, 25, 37]

println(ages)

上の出力結果:

[18, 25, 37]

要素の型がstringaの配列を1つ作成する:

mut users := ['vbrazo', 'donnisnoni95', 'Delta456']

println(users)

上の出力結果:

['vbrazo', 'donnisnoni95', 'Delta456']

注意: どの要素もすべて同じ型でなければなりません。以下はコンパイルされません。

mut users := ['vbrazo', 'donnisnoni95', 'Delta456', 0]

上の出力結果:

~/main.v:2:43: bad array element type `int` instead of `string`

空の配列を作成する

宣言で[]に続けてデータ型を書くことで、空の配列を1つ作成できます。

配列の要素にアクセスする

上の出力結果:

配列の末尾に値を追加する

<<は、配列の末尾に値をひとつ追加する演算子です。

上の出力結果:

値の代わりに配列を追加することもできます。

上の出力結果

配列の長さ

.lenメソッドは配列の長さ(つまり要素の数)を返します。

上の出力結果

in演算子

inは、要素が配列にあるかどうかをチェックします。

上の出力結果

配列をスライスする

Vでは配列を簡単にスライス(切り出し)できます。slice ()メソッドを呼ばなくても、Vのデフォルトのスライシング機能だけで配列をスライスできます。 構文は配列[開始値..終了値]のようになります。

スライスをインデックスの冒頭から開始したい場合、開始値に0を置かずに配列[..終了値]と書くことも、終了値に-1を置かずに配列[開始値..]と書くこともできます。

演習

  1. 要素をいくつか渡すと配列に保存して出力するVプログラムを書きましょう。

  2. 配列のn番目の値を読み取って逆順で表示するVプログラムを書きましょう。

  3. 配列のすべての要素の合計を求めるVプログラムを書きましょう。

  4. ある配列の要素を別の配列にコピーするVプログラムを書きましょう。

  5. 配列の中で重複している要素の個数を数えるVプログラムを書きましょう。

Last updated

Was this helpful?