In Go, variables declared within the scope of an if statement are only visible within that block. This can present a challenge when it is necessary to use variables declared in the conditional statement outside of it.
Consider the following code:
if len(array1) > len(array2) { new1 := make([]string, 0, len(array1)) } // Error: new1 is not visible here new2 := make([]string, 0, len(new1))
In this example, the variable new1 is declared within the if statement and can only be used within that scope. To resolve this issue, new1 must be declared outside of the if statement and initialized within it.
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))
Now, new1 is declared outside of the if statement and can be accessed in both the if and else blocks. This allows it to be used in the subsequent code where it is passed as an argument to make.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3