내보내진 식별자
내보내진 식별자 (Exported identifiers)
여러 패키지를 오가며 코드를 짜다 보면, 다른 패키지에 있는 이름을 그대로 쓸 수 있을 때가 있고 안 될 때가 있어요. 그 기준이 바로 오늘 다룰 내보내짐(exported) 개념이에요. Go에서는 어떤 식별자가 내보내졌는지 아닌지에 따라 다른 패키지에서 접근할 수 있는지가 갈려요. 어떤 이름이 내보내질 수 있는지, 그 조건을 함께 살펴볼게요.
출처: Go Specification
본문
식별자는 다른 패키지에서 접근할 수 있도록 내보낼 수 있어요(exported). 어떤 식별자가 내보내지려면 다음 두 조건을 모두 만족해야 해요:
- 식별자 이름의 첫 문자가 유니코드 대문자여야 해요(유니코드 문자 범주
Lu). - 그 식별자가 package block에서 선언되어 있거나, field name이나 method name이어야 해요.
이 두 조건 중 하나라도 빠지면, 나머지 모든 식별자는 내보내지지 않아요. 다시 말해, 이름 첫 글자가 소문자이거나, 블록 안에 선언된 이름이거나 하면 다른 패키지에서는 그 이름에 접근할 수 없어요.
더 알아보기
- package block에서 선언되는 이름이 어떻게 내보내지는지 이어서 볼 수 있어요.
- field name과 method name처럼 패키지 블록 밖에 있지만 내보내질 수 있는 이름도 확인해 보세요.
- 원문은 Go Specification — Exported identifiers에서 볼 수 있어요.