Golang で []interface{} を []string に変換する
github.com/fatih/structs パッケージを使用する場合、 toValues() 関数から取得した []interface{} 値を、 csvパッケージ。ただし、これらの型はメモリ レイアウトが異なるため、この変換を直接実行することはできません。
この問題に対処するには、さまざまな型の値を文字列として表現する方法を定義する必要があります。簡単なアプローチは、値を反復処理し、 fmt.Sprint() を使用して文字列表現を取得することです。
これを示すコード例を次に示します。
t := []interface{}{ "zero", 1, 2.0, 3.14, []int{4, 5}, struct{ X, Y int }{6, 7}, } s := make([]string, len(t)) for i, v := range t { s[i] = fmt.Sprint(v) }
これにより、次の出力が生成されます。
[zero 1 2 3.14 [4 5] {6 7}] ["zero" "1" "2" "3.14" "[4 5]" "{6 7}"]
この手法を採用すると、さまざまな型の値を含む []interface{} を []string に簡単に変換できます。 csv パッケージを効果的に利用してさらなる処理を行うことができます。
以上がGo で []interface{} を []string に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。