構造化データを使用したデータベース アクセス シナリオでは、データベースの行データを対応する構造体に変換することが望ましいことがよくあります。次の User 構造体について考えてみましょう:
type User struct { Name string Id int Score int }
同じスキーマを持つデータベース テーブルを想定すると、データベース行を User 構造体に直接効率的に解析するにはどうすればよいでしょうか?
Go データベース/SQL パッケージには、次のような役立つ例が用意されています。テスト:
func TestQuery(t *testing.T) { type row struct { age int name string } rows, err := db.Query("SELECT|people|age,name|") got := []row{} for rows.Next() { var r row err = rows.Scan(&r.age, &r.name) got = append(got, r) } } func TestQueryRow(t *testing.T) { var row struct { age int name string } err = db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&row.age, &row.name) }
これらの原則を特定のケースに適用すると、次のように行を User 構造体に変換できます。
var row struct { age int name string } err = db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&row.age, &row.name)
以上がGo でデータベース行を構造体に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。