我有一个go generate指令,如下所示:
//go:generate myprog -someName thisname -data 'Request: Typ "." callMe, Rsp: MyTyp "." close'
问题是程序只接收-someName
标志(“thisname”)的值。我假设-data
标志由于某些原因被丢弃。知道为什么吗?如果我直接从命令行执行程序,它会工作,所以我猜这是一个特定的问题。
答案 0 :(得分:4)
来自go generate https://docs.google.com/document/d/1V03LUfjSADDooDMhe-_K59EgpTEm3V8uvQRuNMAEnjg/edit的设计文档:
参数是空格分隔的标记(或双引号字符串),它们在运行时作为单独的参数传递给生成器。
因此,如果要传递包含空格的参数,则必须对它们进行双引号。您使用的单引号适用于您的shell但不适用于go generate