使用默认命令行参数值编译错误

时间:2014-11-15 04:47:47

标签: command-line go default-value

当我尝试使用uint64类型的命令行参数时,当我将默认值设置为有效的无符号64位数时,我遇到了编译错误。

编译错误: 表达式类型不匹配,预期类型为uint64较少... 它突出显示这里的数字5000,表明这不是一个可接受的值。

代码:

var golferInstance uint64 

flag.Uint64Var(&golferInstance, "inst", 5000, "Golfer Instance ID, this should be Globaly Unique ")
flag.Parse()

我没有看到上面的声明有什么问题,那么为什么编译错误?

我在这里缺少什么? (我相信一定是愚蠢的,我没有弄清楚) 任何帮助表示赞赏。

由于

1 个答案:

答案 0 :(得分:0)

go-lang-idea-plugin中的检查类型在某些类型的不匹配检测方面存在一些问题 请参阅issue 348(应该在该插件的最新版本中解决)

您可以取消选择该检查员。

  

在界面中,它被称为“Highlight mismatched types”,我相信这就是那个   来自检查的消息是:“Expression type mismatch, expected type is ...

     

在检测到构造“1 * time.Second”中的“time.Sleep(1 * time.Second)”是正确的“Duration”类型时,它似乎也存在问题,并且它会尝试像这样'{{ {1}}”。

回到命令行,和/或确保所有组件都是最新的(golang IntelliJ插件,Go本身),可以提供帮助。