小编S. *_*eep的帖子

在 Go 中推广 *sql.Rows 扫描

我正在使用 Go 开发一个 Web API,有很多冗余的数据库查询扫描代码。

func (m *ContractModel) WorkQuestions(cid int) ([]models.WorkQuestion, error) {
    results, err := m.DB.Query(queries.WORK_QUESTIONS, cid)
    if err != nil {
        return nil, err
    }

    var workQuestions []models.WorkQuestion
    for results.Next() {
        var wq models.WorkQuestion
        err = results.Scan(&wq.ContractStateID, &wq.QuestionID, &wq.Question, &wq.ID, &wq.Answer, &wq.Compulsory)
        if err != nil {
            return nil, err
        }
        workQuestions = append(workQuestions, wq)
    }

    return workQuestions, nil
}

func (m *ContractModel) Questions(cid int) ([]models.Question, error) {
    results, err := m.DB.Query(queries.QUESTIONS, cid)
    if err != nil { …
Run Code Online (Sandbox Code Playgroud)

sql reflection refactoring go generalization

6
推荐指数
1
解决办法
5160
查看次数

标签 统计

generalization ×1

go ×1

refactoring ×1

reflection ×1

sql ×1