golangパッケージ結果セット
2139 ワード
これまで多くの結果セットを探したが、パッケージがうまくいかなかったので、自分でパッケージした。
strFirstToUpper文字列の頭文字を大文字に変換
NewBeeMap同時アクセスmap
/**
*
*/
func RowResult(rows *sql.Rows) []interface{} {
//
// scanArgs、values ,scanArgs values
columns, _ := rows.Columns()
values := make([]sql.RawBytes, len(columns))
scanArgs := make([]interface{}, len(values))
for i := range values {
scanArgs[i] = &values[i]
}
var returnArrs []interface{}
for rows.Next() {
err := rows.Scan(scanArgs...)
if err != nil {
panic(err.Error())
}
var value string
relativeJson := NewBeeMap()
for i, col := range values {
if col == nil {
value = ""
} else {
value = string(col)
}
if relativeJson.Set(strFirstToUpper(columns[i]), value) {
continue
}
}
returnArrs = append(returnArrs, relativJson.bm)
}
return returnArrs
}