ホームページ >バックエンド開発 >Golang >Go で「[]string」を「[]interface{}」に変換するにはどうすればよいですか?

Go で「[]string」を「[]interface{}」に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 04:36:13169ブラウズ

How Can I Convert a `[]string` to a `[]interface{}` in Go?

[]string を []interface に変換する{}

この質問は、interface{} が任意の型を表現できるという誤解から生じています。したがって、[]interface{} は任意の []type を表すことができます。ただし、interface{} はそれ自体が型であり、[]interface{} と同等であるとは見なされません。

解決策:

[]string を[]インターフェース{}の場合、要素を宛先スライスに個別にコピーする必要があります。以下に例を示します。

func convertStringSliceToInterfaceSlice(strs []string) []interface{} {
    result := make([]interface{}, len(strs))
    for i, str := range strs {
        result[i] = str
    }
    return result
}

追加メモ:

[]byte と string の間で変換することはできますが、これはお勧めしません。 Interface{} は、さまざまなタイプのデータを表現するためのより汎用的な方法を提供します。ただし、interface{} は別のタイプであり、注意して使用する必要があることを覚えておくことが重要です。

以上がGo で「[]string」を「[]interface{}」に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。