Golang布尔标志解析限制

Golang布尔标志解析限制,go,Go,有人能详细解释一下官方golang文档中关于布尔标志的cmd语法的解释吗 可以使用一个或两个减号;它们是等价的。最后一种形式 不允许用于布尔标志,因为命令的含义 如果存在名为0、false等的文件,则会发生更改。您必须使用 -flag=false表示关闭布尔标志 我不明白重点。你能解释一下或者举个例子吗?如果你在shell中运行cmd-x*,shell会尝试将*扩展到当前目录中所有文件的列表中。如果当前目录正好包含一个名为“0”或“false”的文件,shell将分别执行cmd-x0或cmd-x

有人能详细解释一下官方golang文档中关于布尔标志的cmd语法的解释吗

可以使用一个或两个减号;它们是等价的。最后一种形式 不允许用于布尔标志,因为命令的含义

如果存在名为0、false等的文件,则会发生更改。您必须使用 -flag=false表示关闭布尔标志


我不明白重点。你能解释一下或者举个例子吗?

如果你在shell中运行
cmd-x*
,shell会尝试将
*
扩展到当前目录中所有文件的列表中。如果当前目录正好包含一个名为“0”或“false”的文件,shell将分别执行
cmd-x0
cmd-xfalse


尚不清楚
cmd-x false
是否应理解为
cmd-x=true-false
(其中“false”是位置参数)或
cmd-x=false
。因此,flag包强制您通过要求等号使其显式化。

如果
ls*
,会发生什么?如果有一个名为
false
cmd-x*
==>
cmd-x false
*
是shell的通配符
cmd -x *