问题标签 [golint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
629 浏览

sublimetext3 - GoSublime/GoLint 缓存导入包?

SublimeText 3 / GoSublime 是否有某种类型的Go导入包缓存?如果是这样,我如何按需清除它?

我问是因为在编写受 Github 源代码控制的自定义包时,它可以工作,直到我重构一个 func 或 struct。然后,回到我的主应用程序(我导入这个包的地方),当我开始使用新方法时,它会像圣诞树一样亮起。

GoSublime(或 GoLint?)不接受重构的 func 更改,并且所有内容都显示为错误。但是,我可以进入提示符并运行go buildgo test一切正常 - Go 工具工作正常。

我唯一能确定的是大约 24 小时后它似乎起作用了?

我是 SublimeText 新手;但是,我相信我已经将所有东西都连接起来并安装了所需的软件包。Sublime 的控制台在 Linters 中没有显示错误(说它找到了 gotype 和 golint)。

SublimeLinter: gotype activated: /Users/user1/go/bin/gotype SublimeLinter: golint activated: /Users/user1/go/bin/golint

东西在包装本身内工作得很好。这不仅仅是我的远程应用程序。在我的包中,我有一个“/examples”测试目录,它甚至没有获取根包中的更改。但同样,实际的Go工具使用新的重构代码执行、构建和运行所有测试。

缓存导入的架构/包详细信息的是 GoSublime/GoLint。我该如何清除?

谢谢!

0 投票
1 回答
790 浏览

go - 编译 glide vendored 包

Golang 的glide将依赖项下载到项目的源代码中。结果,go build也编译了这些,并且 lint/vet 代码库的 go 插件也解析了依赖项。

假设这些依赖项是稳定的,我怎样才能编译依赖项从而go build变得更快?

另外,如何vendor/从 go 的工具中删除 lint 并检查代码库是否有错误?

0 投票
0 回答
1453 浏览

go - Sublime Text 3 的 Golint 插件

我目前正在学习 Go,并且正在使用Sublime Text 3插件SublimeLinter(我使用除 Go 之外的其他语言)。我已经使用Homebrew(我在 OS X 上)下载了 Go,并且我按照此处说明的程序进行了操作:https ://golang.org/doc/install以测试我的安装。我不明白为什么提供的 Go 语言的 linterSublimeLinter不起作用。我已经将 my 插入$GOPATH到我的PATH,中/usr/local/bin/go。这是打印 ST 控制台的内容:

有人有同样的问题吗?

0 投票
0 回答
563 浏览

go - Golang 包安装失败

我在安装包时遇到问题,它以前可以工作,但突然我收到了这条消息:

这是我的 GO 环境输出:

0 投票
1 回答
131 浏览

go - golang 编译时间(静态代码分析)检测格式化字符串和参数之间的不匹配

我最近发现我有很多日志消息,格式字符串和参数不完全匹配。默认情况下(我使用的是 go 1.6)编译器似乎没有报告此类问题。

我可以为 go 编译时验证或任何其他静态代码分析工具激活此类检查,以检测格式化字符串和参数之间的不匹配吗?

注意 golint 似乎也没有报告此类问题。

0 投票
4 回答
26200 浏览

go - 修复“在 context.WithValue 中不应使用基本类型字符串作为键”golint

我在使用Contextand时将 uuid 传递WithValue给处理 this 的后续函数*http.request。此 uuid 在授权标头中传递给 REST 调用以识别人员。授权令牌经过验证,需要可访问以检查调用本身是否已获得授权。

我用了:

但是 golint 抱怨说:

可以用来检索这个不是基本类型(如简单字符串)的键的最佳选项是什么?

0 投票
2 回答
535 浏览

go - 用文件中的模式替换字符串

我使用 sed 替换 *.go 文件上的变量,sed -i 's/\<old_name\>/newName/g' *.go 我的目标是消除 golinter 错误。如何使用常见模式的字符串,例如用 2 替换 1

  1. fmt.Printf("blah blah blah")或者fmt.Printf("yadda yadda yadda")
  2. fmt.Println("blah blah blah")或者fmt.Println("yadda yadda yadda")

在这种情况下,我们不想替换: 1. fmt.Printf("print speed= %d",speed)//所以这里的关键是结束模式应该是"). 2. log.Printf statements //仅替换“fmt”。对此有任何指示吗?

0 投票
0 回答
373 浏览

go - 在 Go AST for Linter 中唯一标识函数声明

我正在为 Go 创建一个自定义 linter,它在下面的示例中验证 'foo' 函数的某些参数。

假设我们有一个sample.go,它看起来像这样。

然后我们有另一个名为的文件,它为foobar.go函数实现了一个 linter (检查它的参数的长度),如下所示:

我怎么知道调用表达式ce, ok := n.(*ast.CallExpr)实际上是在调用foo函数bar.go而不是其他源文件?

我能够进入调用表达式的函数声明对象 - funDec,但它的所有属性似乎都不能帮助唯一地识别函数声明/签名。

函数对象的属性

我正在使用的代码可以在这里找到。本质上,我正在寻找的是一种类似于 Go 中函数声明的“哈希码”实现。

0 投票
0 回答
574 浏览

go - Go lint 在使用 dep 时抱怨导入

我在这里看到了类似的问题。但我无法解决我的案子。

我正在使用 dep 初始化项目并添加了第一个依赖项“Echo”。现在文件夹结构看起来像这样

server.go 有以下代码

main.go 有

现在 vscode 显示警告

不能使用 server.TestController(类型 func("github.com/sfkshan/pos/vendor/github.com/labstack/echo".Context) 错误)作为类型 "github.com/labstack/echo".HandlerFunc 在参数中。得到

我不确定为什么会这样?如果我删除供应商文件夹文件夹,错误就会消失。但是在运行之后dep ensure(在这种情况下,会创建供应商文件夹,这是预期的),错误再次出现。

0 投票
2 回答
3502 浏览

docker - 无法安装 golint 包:导入路径错误

我有一个使用 golint 并将其安装在 docker 容器中的项目。它已经工作了几个月(并且已经构建了多次),但是今天当我再次构建容器时,我收到以下错误:go get -u github.com/golang/lint/golint

我可以通过键入 go get github.com/golang/lint/golint 在我的计算机上本地复制问题。我已经删除了 go 路径(源和 bin 文件夹)中与 golint 相关的所有包,但当我再次尝试安装它时,我得到了前一个错误。我正在使用 go 1.11.0 有什么建议吗?