CSV データを Go 構造体に効率的にアンマーシャルするにはどうすればよいですか?
Dec 11, 2024 pm 03:32 PMCSV レコードを Go 構造体にアンマーシャルする
Go では、CSV レコードをカスタム構造体に逆シリアル化する必要がよくあります。 「encoding/csv」パッケージは基本的な CSV 読み取りを提供しますが、手動で解析して構造体に変換する必要があります。幸いなことに、このプロセスを簡素化する代替ソリューションがあります。
そのようなソリューションの 1 つは gocarina/gocsv です。これは、カスタム構造体を処理するための「encoding/json」パッケージと同じアプローチに従います。また、特定の型のカスタム マーシャリングとアンマーシャリングも可能です。
次の例を考えてみましょう。
type Client struct { Id string `csv:"client_id"` Name string `csv:"client_name"` Age string `csv:"client_age"` } func main() { in, err := os.Open("clients.csv") if err != nil { panic(err) } defer in.Close() clients := []*Client{} if err := gocsv.UnmarshalFile(in, &clients); err != nil { panic(err) } for _, client := range clients { fmt.Println("Hello, ", client.Name) } }
ここでは、gocsv.UnmarshalFile は、逆シリアル化されたクライアント構造体をクライアント スライスに直接設定します。これにより、アンマーシャリング プロセスが簡素化され、標準の「エンコーディング/CSV」メソッドを使用するよりも直感的で便利になります。
以上がCSV データを Go 構造体に効率的にアンマーシャルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

GOの実際のパフォーマンスを正確に反映するベンチマークを作成するにはどうすればよいですか?
