在 Go 中,在 if 语句作用域内声明的变量仅在该块内可见。当需要使用条件语句中声明的变量时,这可能会带来挑战。
考虑以下代码:
if len(array1) > len(array2) { new1 := make([]string, 0, len(array1)) } // Error: new1 is not visible here new2 := make([]string, 0, len(new1))
在此示例中,声明了变量 new1在 if 语句中并且只能在该范围内使用。要解决此问题,必须在 if 语句外部声明 new1 并在其中初始化。
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) } else { new1 = make([]string, 0, len(array2)) } new2 := make([]string, 0, len(new1))
现在,new1 在 if 语句外部声明,并且可以在 if 和 else 块中访问。这允许它在后续代码中使用,并作为参数传递给 make。
以上是如何访问 Go if 语句内部声明的变量?的详细内容。更多信息请关注PHP中文网其他相关文章!