在 go 中处理 select sql 查询结果的最佳方法是什么?


上下文(这就是我到目前为止所得到的...):


@更新


func (s *SQLServiceServer) select_query_func() {

    

    // db_connection and validation


    rows, err1 := db.Query(request.GetQuery())


    if err1 != nil {

        panic(err1)

    }


    defer rows.Close()


    columns, err2 := rows.Columns()


    if err2 != nil {

        panic(err2)

    }


    // Loop through rows, using Scan to assign column data to struct fields.

    for rows.Next() {

        values := make([]interface{}, len(columns))


        for i := range values {

            values[i] = new(interface{})

        }

        if err2 = rows.Scan(values...); err2 != nil {

            panic(err2)

        }


        for i := range values {

            fmt.Println(values[i])

        }

    }


    return requestOutput(REQUEST_OK, RESULT_OK, ERROR_NULL)

}

总结一下,最好的方法是什么?


我提到的错误

http://img4.sycdn.imooc.com/63845975000137fa10260293.jpg