一尘不染

Golang中有一个命令行工具只能检查我的源代码的语法吗?

go

例如-c,Ruby中有一个选项可以在运行代码之前检查语法:

C:\>ruby --help
Usage: ruby [switches] [--] [programfile] [arguments]
-c              check syntax only

C:\>ruby -c C:\foo\ruby\my_source_code.rb
Syntax OK

Go中有类似的功能吗?

PS来自Ruby的一个例子仅仅是因为我在Ruby中知道它。不是因为巨魔之类的。


阅读 232

收藏
2020-07-02

共1个答案

一尘不染

您可以gofmt用来检查语法错误,而无需实际构建项目。

gofmt -e my_file.go > /dev/null

您以后可以使用$?bash变量,返回码0表示成功,2表示语法检查。/ dev / null将占用代码,但错误将移至stderr

-e选项定义为:

报告所有错误(不只是不同行的前10个错误)


gofmt-帮助

用法:gofmt [flags] [path ...]
  -comments = true:打印评论
  -cpuprofile =“”:将cpu配置文件写入此文件
  -d = false:显示差异而不是重写文件
  -e = false:报告所有错误(不只是不同行的前10个错误)
  -l = false:列出格式不同于gofmt的文件
  -r =“”:重写规则(例如'a [b:len(a)]-> a [b:]')
  -s = false:简化代码
  -tabs = true:缩进制表符
  -tabwidth = 8:制表符宽度
  -w = false:将结果写入(源)文件而不是stdout
2020-07-02