상수 선언

상수는 변하지 않는 값을 말한다. 변수는 대입문을 통해서 값을 수시로 바꿀 수 있지만 상수는 초기화된 값이 변하지 않는다. 정수, 실수, 문자열 등 기본 타입들만 상수로 선언 될 수 있다. 상수로 사용될 수 있는 타입은 아래와 같다.

상수 선언 방식은 변수와 비슷하다. 변수(variable)를 뜻하는 var 대신 상수(constant)를 뜻하는 const 키워드를 사용한다는 점이 다르다.

const ConstVlaue int = 10

상수명 규칙은 변수명과 같다. 함수 외부에 선언되어 있고 첫 글자가 대문자인 상수는 패키지 외부로 공개되는 상수이다. 상수는 한 번 선언되면 그 값을 바꿀 수 없다. 상수는 값으로만 동작하기 때문에 대입문의 좌변에 올 수 없다.

package main
import "fmt"

func main() {
	const C int = 10
	
	var b int = C * 20
	C = 20
	fmt.Println(&C)
}

OUTPUT : Error

타입 없는 상수

상수 선언 시 타입을 명시하지 않을 수 있다.

package main

import "fmt"

const PI = 3.14
const FloatPI float64 = 3.14

func main() {
	var a int = PI * 100        // 오류 발생 X
	var b int = FloatPI * 100   // 오류 발생 O
	
	fmt.Println(a)
	fmt.Println(b)
}