登录
首页 >  Golang >  Go问答

go 报告卡中的“文件未处理”

来源:stackoverflow

时间:2024-04-10 10:12:36 155浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《go 报告卡中的“文件未处理”》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

我有一个 go 项目,我想在其中生成 go 成绩单 (https://goreportcard.com/)

此成绩单的其中一件事是它运行

gofmt -s

在所有文件上。

我的存储库包含大约 25 个 go 文件,唯一引发的标志是这个,共 6 个文件:

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 行引发一些错误,而另一个却没有?

这个标志是什么意思?


解决方案


命令 gofmt -s myfile.go 将格式化文件打印到标准输出。将 -s 标志 applies simplifications 添加到格式化文件中。

运行gofmt -s -d myfile.go,查看原始文件与格式化文件的差异。

运行 gofmt -s -w myfile.go 将文件更新为所需的格式。

myfile.go替换为.即可对该目录下的所有文件进行操作。

gofmt 命令的文档是 here

您的文件未格式化。在该目录下运行gofmt -s -w .修复文件。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>