V言語 マップ(連想配列)


V言語のマップ(連想配列)

この記事では、

複数のキーと値の組み合わせを管理する、マップ(連想配列)が、

V言語においてどのように実装されているかを見る。

概要

  1. V言語にはマップ(連想配列)がある
  2. バージョン0.1.17までは、最初に形式的な定義をして、あとから値を代入していく
  3. バージョン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'])
}

実行結果

参照

  1. V言語公式リポジトリ
  2. V言語公式ドキュメント
  3. V言語変更履歴
  • このエントリーをはてなブックマークに追加

PAGE TOP