함수 수준 변수를 통해 상수 또는 패키지 수준 변수에 액세스
Go에서는 패키지에서 상수나 변수를 선언하는 것이 일반적입니다. 레벨로 설정하여 패키지 전체에서 액세스할 수 있도록 합니다. 그러나 함수 수준에서도 변수를 선언하면 함수 범위 내에서 패키지 수준 변수보다 우선합니다.
어떻게 함수 대신 상수 또는 패키지 수준 변수를 참조할 수 있습니까? 이런 경우에는 레벨 변수?
설명
아쉽게도 함수 레벨 변수가 같은 이름을 가질 때 패키지 레벨 변수를 참조하는 직접적인 방법은 없습니다. 존재합니다. Go 사양에 따르면 함수를 포함하여 블록 내에 선언된 모든 식별자는 해당 블록 범위 내의 패키지 수준에서 선언된 식별자보다 우선합니다.
해결 방법
패키지 수준 변수와 함수 수준 변수에 동시에 액세스하려면 다음 해결 방법을 고려하세요.
1. 다른 이름 사용
충돌을 방지하려면 가능하면 함수 수준 변수와 패키지 수준 변수에 다른 이름을 사용하세요. 이를 통해 두 변수에 독립적으로 액세스할 수 있습니다.
2. 패키지 수준 변수 복사본 저장
함수 수준 변수에 값을 할당하기 전에 패키지 수준 변수의 복사본을 다른 이름의 새 변수에 저장하세요. 이렇게 하면 함수 범위 내에서도 패키지 수준 변수를 참조할 수 있습니다.
3. 함수 만들기
또 다른 접근 방식은 패키지 수준 변수의 값을 반환하는 함수를 만드는 것입니다. 이를 통해 함수 수준 변수 범위 내에서 함수를 호출하여 패키지 수준 변수에 액세스할 수 있습니다.
위 내용은 Go에 동일한 이름을 가진 함수 수준 변수가 있는 경우 패키지 수준 변수에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!