Go에서 단일 상수를 선언하는 가장 좋은 방법은 무엇입니까?Golang : 단일 상수 선언
1)
const myConst
2)
const (
myConst
)
두 가지 방법은 gofmt
로 사용할 수 있습니다. 두 가지 방법은 stdlib에 있지만 1)을 많이 사용합니다.
Go에서 단일 상수를 선언하는 가장 좋은 방법은 무엇입니까?Golang : 단일 상수 선언
1)
const myConst
2)
const (
myConst
)
두 가지 방법은 gofmt
로 사용할 수 있습니다. 두 가지 방법은 stdlib에 있지만 1)을 많이 사용합니다.
두 번째 형식은 주로 여러 개의 상수 선언을 그룹화하기위한 것입니다.
하나의 상수 만있는 경우 첫 번째 양식으로 충분합니다.
const maxNanoSecondIntSize = 9
그러나 archive/zip/struct.go
의 : 예를 archive/tar/reader.go
에 대한
는
// Compression methods.
const (
Store uint16 = 0
Deflate uint16 = 8
)
하나 const()
에서 그룹 모든 상수가 의미하지 않는다 : 당신이 iota (successive integer)에 의해 초기화 상수가있을 때 , 각 블록 수를 계산합니다.
는 the comments에
// flags for state generation
const (
DONE = iota
MUSTDO
MUSTLOOKAHEAD
)
// flags for a rule having an action, and being reduced
const (
ACTFLAG = 1 << (iota + 2)
REDFLAG
)
dalu 추가 예를 cmd/yacc/yacc.go
를 참조하십시오 :
그것은 사실입니다,하지만 당신은 iota
만 constant declaration에 사용 발견 할 것이다, 그것은 당신이 연속 정수 상수의 여러 세트를 필요로하는 경우 여러 const()
블록을 정의하도록 강요한다.
그리고 답변을 확장하기 위해 import, type, var 및 여러 번 사용할 수도 있습니다. –
@ 달룩 좋은 지적. 나는 그것을 더 많은 가시성을 위해 대답에 포함 시켰습니다. 나는 또한 여러 개의'const()'블록을 사용해야하는 예제로 iota 사용법을 추가했다. – VonC
예에서 나는 CAPS와 CamelCase에서 상수 이름을 본다. 상수 이름 지정의 선호되는 방법은 무엇입니까? – warvariuc