V言語のマップ(連想配列)
この記事では、
複数のキーと値の組み合わせを管理する、マップ(連想配列)が、
V言語においてどのように実装されているかを見る。
概要
- V言語にはマップ(連想配列)がある
- バージョン0.1.17までは、最初に形式的な定義をして、あとから値を代入していく
- バージョン0.1.18から、
{}
を使った初期化がサポートされる(現在先行実装ずみ)
バージョン0.1.17までで正式にサポートされている構文
最初に形式的な定義を行い、漸次値を代入していく。
フォーマット
mut 変数名 := map[string] 値の型名{}
変数名[文字列によるキー1] = 値1
変数名[文字列によるキー2] = 値2
変数名[文字列によるキー3] = 値3
コード例
// # バージョン0.1.17で実装済みの構文
fn main() {
// ## マップの定義
// 最初に形式的な定義を行う
// その後順次キーと値のペアを入力していく
mut english_to_numerals := map[string] int{}
english_to_numerals['one'] = 1
english_to_numerals['two'] = 2
english_to_numerals['three'] = 3
// ## 表示
// 1. キーを指定して対応する要素を表示
println(english_to_numerals['one'])
// 2. 要素全体の表示は不可能
// println(english_to_numerals)
}
実行結果
Version 0.1.18で正式サポート予定の構文
ブラケット{}
で囲んだ中に、キーと値のペアを記述していく、
マップ定義の方法は、現在開発中のバージョン0.1.18で正式サポートされる。
2019年08月09日のVersion0.1.17で先行実装されている。
フォーマット
定数名 := {
'キー1' : 値1,
'キー2' : 値2,
'キー3' : 値3
}
コード例
// # バージョン0.1.18で正式実装される初期化子構文
fn main() {
// ## ブラケットによる定義
// ブラケットで囲んだ中に、キーと値のペアをカンマ区切りでならべる
words_to_numerals := {
'one' : 1,
'two' : 2,
'three' : 3
}
// ## キーで値を取得して表示
println(words_to_numerals['two'])
}