使用指令时如何在标志值中获取空格?
语境
包接收和/或处理带有空格的flag
标志,具体取决于调用 Go 的方式。引用标志值可以从命令行使用,但不能使用指令,例如go generate
, 例如。
换句话说,从命令行调用,Flag1
将收到正确的值(即,4 个字,3 个空格)。
作品
% go run -tags generate main.go -Flag1="flag value with spaces"
不工作
但是,在指令文件中调用完全相同的命令,例如 with go generate ./...
,Flag1
将不会收到正确的值。获取一个包含以下行的指令文件(例如,generate.go
):
//go:generate go run -tags generate main.go -Flag1="flag value with spaces" -Flag2=next
Flag1
设置不正确,Flag2
根本没有设置。