구조화된 데이터가 있는 데이터베이스 액세스 시나리오에서는 데이터베이스 행 데이터를 해당 구조체로 변환하는 것이 바람직한 경우가 많습니다. 다음 사용자 구조체를 고려하십시오.
type User struct { Name string Id int Score int }
동일한 스키마를 가진 데이터베이스 테이블을 가정할 때 데이터베이스 행을 사용자 구조체로 직접 효율적으로 구문 분석할 수 있는 방법은 무엇입니까?
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) }
이 원칙을 특정 사례에 적용하면 다음과 같이 행을 사용자 구조체로 변환할 수 있습니다.
var row struct { age int name string } err = db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&row.age, &row.name)
위 내용은 Go에서 데이터베이스 행을 구조체로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!