请问什么情况下和为什么我会在函数内使用匿名作用域?(我不确定它的实际名称)。
我被分配维护一些遗留代码,其中一些函数包含了我之前从未见过的“作用域”:
(为演示目的而简化)
func DoSomething(someBoolValue bool) string {
if someBoolValue {
// do some stuff
return "yes"
}
{
// weird scope code
}
return "no"
}
我创建了一个Go Playground,用于展示一些实际代码(会出现错误)。
someBoolValue:=“banana”
,并且它仍将是块后传入的值。(如其他答案所述,在for/if/switch/select/func块内也会发生相同的作用域) - Plato