【发布时间】:2023-01-24 02:27:32
【问题描述】:
&& || 运算符后如何调用函数。例如:
true && fmt.Println("will run")
false || fmt.Println("will run")
但它会抛出异常,因为它不会返回布尔值,那么该怎么做呢?
【问题讨论】:
-
只需使用
if。 Go 不像 Bash 那样提供这些语法糖。 -
它只是无效的围棋。即使
fmt.Println返回了一个布尔值,你也会得到(value of type bool) is not used,因为你不能有这样一个未使用的表达式。使用if声明。 -
如果您有另一个“有意义的”示例:解决方案是手动明确地评估每个操作数,因此短路评估不会影响执行哪个操作数。
标签: go