const에 대한 Go 명명 규칙


117

이름에 대한 명명 규칙이 있는지 확인하려고합니다. constGolang .

저는 개인적으로 C 스타일을 따르고 대문자로 쓰는 경향이 있지만이 페이지 http://golang.org/doc/effective_go.html 에서 언어에 대한 명명 규칙을 나열하는 것 같은 내용을 찾지 못했습니다 .


5
FOO_BAR_BAZ가독성 을 위해 스타일에 상수를 작성하고 싶지만 안타깝게도 상수의 가시성에 영향을 미치며 일반적이지 않습니다. 자존심을 삼키고 마음에 들지 않더라도 대회를 받아 들여야 만했습니다.
byxor

답변:


131

표준 라이브러리는 카멜 케이스를 사용하므로 그렇게하는 것이 좋습니다. 첫 글자는 상수를 내보낼 지 여부에 따라 대문자 또는 소문자입니다.

몇 가지 예 :

  • md5.BlockSize
  • os.O_RDONLY POSIX에서 직접 빌 렸기 때문에 예외입니다.
  • os.PathSeparator

7
const요소가 다른 패키지에 노출 되기를 원하는지 결정하는 것도 중요 합니다. 사용 UpperCamelCase하거나 ALL_CAPS패키지 외부로 내보내는 경우. 이런 이유로 저는 lowerCamelCaseprivate const 변수를 고수하고 , Go 프로젝트에 비교적 가까운 사람 (또는 공식 문서에서도이 권장 사항을 읽었습니다.
weberc2

81

Go 코드 검토 주석

이 페이지는 Go 코드를 검토하는 동안 일반적인 주석을 수집하여 하나의 자세한 설명을 속기로 참조 할 수 있습니다. 이것은 스타일 가이드가 아닌 일반적인 실수의 세탁 목록입니다.

http://golang.org/doc/effective_go.html에 대한 보충 자료로 볼 수 있습니다 .

혼합 대문자

http://golang.org/doc/effective_go.html#mixed-caps를 참조하세요 . 이것은 다른 언어의 관례를 어기는 경우에도 적용됩니다. 예를 들어 내 보내지 않은 상수는 MaxLength 또는 MAX_LENGTH가 아닌 maxLength입니다.


효과적인 이동

MixedCaps

마지막으로 Go의 규칙은 여러 단어로 된 이름을 작성하기 위해 밑줄 대신 MixedCaps 또는 mixedCaps를 사용하는 것입니다.


Go 프로그래밍 언어 사양

내 보낸 식별자

다른 패키지에서 액세스 할 수 있도록 식별자를 내보낼 수 있습니다. 다음과 같은 경우 식별자를 내 보냅니다.

  • 식별자 이름의 첫 번째 문자는 유니 코드 대문자 (유니 코드 클래스 "Lu")입니다. 과

  • 식별자는 패키지 블록에서 선언되거나 필드 이름 또는 메서드 이름입니다.

다른 모든 식별자는 내보내지지 않습니다.


혼합 대문자를 사용하십시오.


12

구체적인 예. 상수 (관련된 경우)에서 유형을 선언하면 컴파일러에 도움이 될 수 있습니다.

// Only visible to the local file
const localFileConstant string = "Constant Value with limited scope"

// Exportable constant
const GlobalConstant string = "Everyone can use this"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.