1. 상수 선언
const Value int = 10
const : 상수 선언 키워드
Value : 상수명
int : 타입
상수명 규칙은 변수명과 같고, 함수 외부에 선언되어 있고 첫 글자가 대문자인 상수는 패키지 외부로 공개되는 상수
2. 상수는 언제?
1. 변하면 안 되는 값에 상수 사용하기
package main
func main() {
const PI1 float64 = 3.141592654589 // 상수
var PI2 float64 = 3.141592654589 // 변수
// PI1 = 4 // Error 발생
PI2 = 4
}
상수를 사용하면 상수를 변경하는 시도를 할 때 컴파일 단계에서 에러가 출력되므로 의도치 않은 결과를 미연에 방지 가능
2. 코드값으로 사용
package main
import "fmt"
const Pig int = 0
const Cow int = 1
const Cat int = 2
func Animal(animal int) {
if animal == Pig {
fmt.Println("Pig")
} else if == Cow {
fmt.Println("Cow")
} else if == Cat {
fmt.Println("Cat")
} else {
fmt.Println("^^")
}
}
func main () {
Animal(Pig)
Animal(Cow)
Animal(Cat)
}
Pig, Cow, Cat 을 상수로 선언해 코드값을 부여
3. Iota 로 간편하게 열거값 사용
const (
Red int = iota // 0
Blue int = iota // 1
Green int = iota // 2
Orange int = iota // 3
Purple int = iota // 4
)
1, 2, 3.. 처럼 1씩 증가하도록 정의할 때, iota 키워드를 사용하면 편리 할 수 있다.
4. 타입 없는 상수
상수 선언 시 타입을 명시하지 않을 수 있다. 그러면 타입 없는 상수가 된다.
package main
import "fmt"
const PI = 3.14 // No type
const FloatPI float64 = 3.14 // type float64
func main() {
var a int = PI * 100 // 오류 발생하지 않음
var b int = FloatPI * 100 // 타입 오류 발생
fmt.Println(a, b)
}
타입 없는 상수는 변수에 복사 될 때 타입이 정해지기 때문에 여러 타입에 사용되는 상수값을 사용 할 때 편리
[참고] tucker 의 Go 언어 프로그래밍
'Language > Go' 카테고리의 다른 글
[Go] for (0) | 2021.11.07 |
---|---|
[Go] switch (0) | 2021.10.30 |
[Go] if (0) | 2021.10.30 |
[Go] 변수 (0) | 2021.10.23 |
[Go] 개발 환경 구축 (go install for window, mac, linux) (0) | 2021.10.17 |