Go의 If 문 내부 변수 범위
Go로 작업할 때 if 문 내에서 변수를 만들어야 하는 상황에 직면할 수 있습니다. 명령문을 작성한 후 해당 명령문 외부에서 사용하십시오. 그러나 Go는 엄격한 변수 범위 규칙을 적용하여 다양한 코드 블록에서 변수 생성 및 사용을 금지합니다.
제공된 코드에서는 if 문 내에서 new1 변수를 생성할 수 없기 때문에 문제가 발생합니다. if문의 결과에 따라 크기가 달라지므로 외부에 선언하는 것은 불가능할 수 있습니다.
이 문제를 해결하기 위해 Go는 간단하고 효과적인 솔루션을 제공합니다. if 문 외부에서 new1 변수를 선언하고 make를 사용하여 문 내에서 변수를 초기화할 수 있습니다. 이를 통해 크기를 동적으로 결정하고 if 문이 끝난 후에 사용할 수 있습니다.
수정된 코드는 다음과 같습니다.
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) // instructions ... } else { new1 = make([]string, 0, len(array2)) // other instructions ... } new2 := make([]string, 0, len(new1)) copy(new2, new1)
이 접근 방식은 변수의 범위를 유지하면서 변수의 범위를 보존합니다. if 문의 결과에 관계없이 함수 전반에 걸쳐 사용됩니다.
위 내용은 Go `if` 문 내부에서 생성된 변수를 외부에서 어떻게 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!