Golang 向别处定义的结构添加函数

我想在sql.Rowstruct上创建一个函数,将一行扫描到我的 struct 中ErrorModel。这就是我正在做的:


func (row *sql.Row) ScanErrorModel(mod *model.ErrorModel, err error) {

    err = row.Scan(&mod.MessageId, &mod.ServiceName, &mod.EventName,

      &mod.Hostname, &mod.Message, &mod.CriticalRate, &mod.Extra, &mod.Timestamp)

    return

}


func (dao *ErrorsDAO) Fetch(id string) (mod *model.ErrorModel, err error) {

    row := dao.DB.QueryRow("select * from errors where message_id=$1", id) 

    return row.ScanErrorModel()

}

但我在这里收到编译器错误:


row.ScanErrorModel undefined (type *sql.Row has no field or method ScanErrorModel)

是否不可能将一个函数添加到一个像这样在其他地方定义的结构上?还是我只是犯了一个语法错误?


慕姐8265434
浏览 155回答 1
1回答

芜湖不芜

我想在sql.Rowstruct上创建一个函数,将一行扫描到我的 struct 中ErrorModel。这就是我正在做的:func (row *sql.Row) ScanErrorModel(mod *model.ErrorModel, err error) {    err = row.Scan(&mod.MessageId, &mod.ServiceName, &mod.EventName,      &mod.Hostname, &mod.Message, &mod.CriticalRate, &mod.Extra, &mod.Timestamp)    return}func (dao *ErrorsDAO) Fetch(id string) (mod *model.ErrorModel, err error) {    row := dao.DB.QueryRow("select * from errors where message_id=$1", id)     return row.ScanErrorModel()}但我在这里收到编译器错误:row.ScanErrorModel undefined (type *sql.Row has no field or method ScanErrorModel)是否不可能将一个函数添加到一个像这样在其他地方定义的结构上?还是我只是犯了一个语法错误?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go