我有这个函数,它应该查询数据库并返回一个articleif ,如果没有找到文章,则返回nil:
func GetArticleBySlug(slug string) (model.Article, error) {
var err error
var article model.Article
err = database.SQL.Get(&article, "SELECT * FROM article WHERE slug=? LIMIT 1", slug)
if err != nil {
log.Println(err)
return nil, err //<- Problem here
}
return article, nil
}
Run Code Online (Sandbox Code Playgroud)
包中Article定义的结构体在哪里model?
但我收到此错误:
cannot use nil as type model.Article in return argument
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
nil只是指针、切片和映射的有效值。例如,您不能拥有nil结构值。
通常在这样的函数中,您的错误返回将是例如
return model.Article{}, err
Run Code Online (Sandbox Code Playgroud)
返回一个空结构。