Command line 具有默认命令行参数值的编译错误

Command line 具有默认命令行参数值的编译错误,command-line,go,default-value,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

当我尝试接受uint64类型的命令行参数时,当我将默认值设置为有效的无符号64位数字时,我得到以下编译错误

编译错误: 表达式类型不匹配,预期类型为uint64以下。。。 它在此处突出显示数字5000,表示该值不可接受

代码:

var golferInstance uint64 

flag.Uint64Var(&golferInstance, "inst", 5000, "Golfer Instance ID, this should be Globaly Unique ")
flag.Parse()
我看不出上述声明有任何错误,那么为什么编译错误

我错过了什么?(我想一定是我没弄明白的傻事) 感谢您的帮助


感谢

中的检查类型在某些类型不匹配检测方面存在一些问题。
请参阅(应该在该插件的最新版本中解决此问题)

您可以取消选择该检查器

在界面中,它被称为“
突出显示不匹配的类型”
,我相信这就是其中之一。
来自检查的消息为:“
表达式类型不匹配,预期类型为…”

它似乎在检测构造中的“
1*time.Second
”time.Sleep(1*time.Second)”中的“
1*time.Second
”是一个合适的“
Duration
”类型时也有问题,它试图像这样修复它“
time.Sleep((time.Duration)(1*time.Second))


返回命令行,和/或确保所有组件都是最新的(golang IntelliJ插件,Go本身),这会有所帮助。

您使用的是什么版本的Go?在操场上似乎工作正常。go1.2.2 linux/AMD64版是如何编译的?如果您使用的是IDE,可能会尝试直接使用go工具进行编译?是的,IDE(IntelliJ 13.1.2)后台编译过程可能会出现一些问题。使用“gd”构建工具,我构建了它,它运行正常。谢谢你的建议。