我有一个 Go 项目,我想在其中生成一份 Go 成绩单(https://goreportcard.com/)
这张成绩单的一件事是它运行
gofmt -s
在所有文件上。
我的仓库包含大约 25 个 Go 文件,唯一出现的标志是这个,共有六个文件:
Line 1: warning: file is not gofmted with -s (gofmt)
我一直在谷歌上搜索gofmt
,但我真的找不到这实际上意味着什么。
以下是引发错误的文件示例:
package services
import (
"github.com/heyjoakim/devops-21/models"
log "github.com/sirupsen/logrus"
)
var d = GetDBInstance()
// GetUserID returns user ID for username
func GetUserID(username string) (uint, error) {
var user models.User
getUserIDErr := d.db.First(&user, "username = ?", username).Error
if getUserIDErr != nil {
log.WithFields(log.Fields{
"err": getUserIDErr,
"username": username,
}).Error("Error in GetUserID")
}
return user.UserID, getUserIDErr
}
这是一个不会引发错误的文件:
package services
import (
"strconv"
"github.com/heyjoakim/devops-21/models"
log "github.com/sirupsen/logrus"
)
func UpdateLatest(latest int) {
var c models.Config
err := d.db.First(&c, "key = ?", "latest").Error
if err != nil {
log.WithField("err", err).Error("Latest does not exist: DB err")
c.ID = 0
c.Key = "latest"
c.Value = strconv.Itoa(latest)
d.db.Create(&c)
} else {
err := d.db.Model(&models.Config{}).Where("key = ?", "latest").Update("Value", latest).Error
if err != nil {
log.WithField("err", err).Error("UpdateLatest: DB err")
}
}
}
我真的不明白为什么一个在第 1 行引发了一些错误,而另一个没有?
这个标志是什么意思?