我正在使用 Atom 开发我的 Go 应用程序。Atom 中的 Linter 报告了一个奇怪的警告,我不明白这是怎么回事。我应该永远忽略警告,还是有其他方法可以实现?
错误: Warning goconst 3 other occurrence(s) of "GET" found in: routes_pages.go:384:8 routes_pages.go:443:7 routes_pages.go:536:7 (goconst) 198:8
细节:
我在文件“app.go”中有路线:
a.Router.HandleFunc("/login", a.PageLogin)
a.Router.HandleFunc("/register", a.PageRegister)
a.Router.HandleFunc("/event/add", a.PageEventCreate)
在“routes_pages.go”文件中,我将 func 定义为:
func (a *App) PageEventCreate(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case "GET":
// Serve the resource.
case "POST":
// Create a new record.
case "PUT":
// Update an existing record.
case "DELETE":
// Remove the record.
default:
// Give an error message.
}
}
func (a *App) PageLogin(res http.ResponseWriter, req *http.Request) {
switch r.Method {
case "GET":
// Serve the resource.
case "POST":
// Create a new record.
case "PUT":
// Update an existing record.
case "DELETE":
// Remove the record.
default:
// Give an error message.
}
}
我有很多这样的func设置。它使在一个地方处理任何情况(GET、POST 等)变得容易。
Atom 中的 Linter 有一个问题。它为每个项目报告一个警告,例如:
Warning goconst 3 other occurrence(s) of "GET" found in: routes_pages.go:384:8 routes_pages.go:443:7 routes_pages.go:536:7 (goconst) 198:8
此警告出现多次;使用 GET、PUT、DELETE 等对每个 switch/case 实例执行一次;最终,对我来说这是一个巨大的列表(因此是一个巨大的错误列表)。
我看不出有明显的方法可以“忽略”Atom 中的警告,所以我觉得只是禁用 linter,这对于更严重的警告来说并不是很好......