ホームページ > バックエンド開発 > Golang > Go で文字列をリストに効率的にマッピングするにはどうすればよいですか?

Go で文字列をリストに効率的にマッピングするにはどうすればよいですか?

DDD
リリース: 2024-12-12 14:03:14
オリジナル
975 人が閲覧しました

How to Efficiently Map Strings to Lists in Go?

リスト インスタンスへの文字列のマップの使用

Go では、マップ タイプを使用して文字列のリストへのマッピングを作成できます。 Go のマップ タイプは、キーと値のペアの順序付けされていないコレクションであり、各キーは一意であり、単一の値に関連付けられています。

リスト ライブラリを使用したアプローチ

マップを作成する 1 つの方法文字列をリストに変換するには、Go の標準ライブラリのコンテナ/リストを利用します。このアプローチには、リスト インスタンスの明示的な処理が必要です。

package main

import (
    "fmt"
    "container/list"
)

func main() {
    // Create a map of string to *list.List instances.
    x := make(map[string]*list.List)

    // Create an empty list and associate it with the key "key".
    x["key"] = list.New()

    // Push a value into the list.
    x["key"].PushBack("value")

    // Retrieve the value from the list.
    fmt.Println(x["key"].Front().Value)
}
ログイン後にコピー

スライスを使用した代替アプローチ

多くの場合、リストの代わりにスライスを値の型として使用する方が適切な場合があります。 。スライスは、Go でリストを表現するためのより便利で慣用的な方法を提供します。

package main

import "fmt"

func main() {
    // Create a map of string to string slices.
    x := make(map[string][]string)

    // Append values to the slice associated with the key "key".
    x["key"] = append(x["key"], "value")
    x["key"] = append(x["key"], "value1")

    // Retrieve the values from the slice.
    fmt.Println(x["key"][0])
    fmt.Println(x["key"][1])
}
ログイン後にコピー

この代替アプローチでは、動的に増加する配列であるスライスを使用し、Go アプリケーションでリストを管理するためのより効率的でパフォーマンスの高い方法を提供します。

以上がGo で文字列をリストに効率的にマッピングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート