猿问

有没有更好的方法来封送 sql 行?

我有以下结构:


type MyTable struct{

  DBColA []byte `db:"cola" json:"-"`

  ColA string `json:"cola"`

  DBColB []byte `db:"colb" json:"-"`

  ColB string `json:"colb"`

}

我映射到 []byte [以更好地处理我的 sql 中的空值][1]


当我获取行时,我需要将其输出为 json。为了做到这一点,我将 []byte 转换为字符串:


var rows []*MyTable

if _, err := Session.Select(&rows, sql, args...); err != nil {

    log.Println(err)

}

for _, row := range rows{

   row.ColA = string(row.DBColA)

   row.ColB = string(row.DBColB)

}

w.Header().Set("Content-Type", "application/json")

if err := json.NewEncoder(w).Encode(rows); err != nil {

  http.Error(w, err.Error(), http.StatusInternalServerError)

}

在我的结构中包含 DBColA 和 ColA 然后将 DBColA 转换为字符串似乎非常低效......我有很多列。有没有更好的办法?


  [1]: https://github.com/go-sql-driver/mysql/wiki/Examples


紫衣仙女
浏览 178回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答