> 백엔드 개발 > Golang > Go에 동일한 이름을 가진 함수 수준 변수가 있는 경우 패키지 수준 변수에 액세스하는 방법은 무엇입니까?

Go에 동일한 이름을 가진 함수 수준 변수가 있는 경우 패키지 수준 변수에 액세스하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-16 22:19:03
원래의
323명이 탐색했습니다.

How to Access Package-Level Variables When a Function-Level Variable with the Same Name Exists in Go?

함수 수준 변수를 통해 상수 또는 패키지 수준 변수에 액세스

Go에서는 패키지에서 상수나 변수를 선언하는 것이 일반적입니다. 레벨로 설정하여 패키지 전체에서 액세스할 수 있도록 합니다. 그러나 함수 수준에서도 변수를 선언하면 함수 범위 내에서 패키지 수준 변수보다 우선합니다.

어떻게 함수 대신 상수 또는 패키지 수준 변수를 참조할 수 있습니까? 이런 경우에는 레벨 변수?

설명

아쉽게도 함수 레벨 변수가 같은 이름을 가질 때 패키지 레벨 변수를 참조하는 직접적인 방법은 없습니다. 존재합니다. Go 사양에 따르면 함수를 포함하여 블록 내에 선언된 모든 식별자는 해당 블록 범위 내의 패키지 수준에서 선언된 식별자보다 우선합니다.

해결 방법

패키지 수준 변수와 함수 수준 변수에 동시에 액세스하려면 다음 해결 방법을 고려하세요.

1. 다른 이름 사용

충돌을 방지하려면 가능하면 함수 수준 변수와 패키지 수준 변수에 다른 이름을 사용하세요. 이를 통해 두 변수에 독립적으로 액세스할 수 있습니다.

2. 패키지 수준 변수 복사본 저장

함수 수준 변수에 값을 할당하기 전에 패키지 수준 변수의 복사본을 다른 이름의 새 변수에 저장하세요. 이렇게 하면 함수 범위 내에서도 패키지 수준 변수를 참조할 수 있습니다.

3. 함수 만들기

또 다른 접근 방식은 패키지 수준 변수의 값을 반환하는 함수를 만드는 것입니다. 이를 통해 함수 수준 변수 범위 내에서 함수를 호출하여 패키지 수준 변수에 액세스할 수 있습니다.

위 내용은 Go에 동일한 이름을 가진 함수 수준 변수가 있는 경우 패키지 수준 변수에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿