Post

06. 상수

06. 상수

✅ 1. 상수 선언

  • 상수로 사용 가능한 타입
    • 불리언, 룬(rune), 정수, 실수, 복소수, 문자열
  • const 키워드를 이용하여 선언한다

    1
    
      const ConstValue int = 10
    
  • 첫 글자가 대문자이고 함수 외부에 있는 상수는 패키지 외부로 공개된다
  • 상수는 한 번 선언되면 값을 바꿀 수 없으며, 대입문의 좌변에 올 수 없다

✅ 2. 타입 없는 상수

  • 상수 선언 시 타입을 명시하지 않을 수 있다
  • 타입 없는 상수는 변수에 복사될 때 타입이 정해진다
1
2
3
4
5
6
7
8
9
const (
	PI              = 3.14 // 타입 없는 상수
	FloatPI float64 = 3.14 // float64 타입 상수
)

func main() {
	var a int = PI * 100 // 정상 결과 : 314
	var b int = FloatPI * 100 // 타입 오류 발생
}

✅ 3. 상수와 리터럴

  • 리터럴이란 고정된 값, 값 자체로 쓰인 문구
  • Go 언어에서 상수는 리터럴과 동일하게 취급된다
  • 상수는 컴파일 시점에 리터럴로 변환되어 실행 파일에 쓰인다

    1
    2
    3
    4
    5
    
      const PI = 3.14
      var a int = PI * 100
        
      // 컴파일 타임에 아래와 같이 변환
      var a int = 314
    
  • 리터럴로 전환되어 실행 파일에 값 형태로 쓰이기 때문에 상수의 메모리 주소에도 접근할 수 없다
This post is licensed under CC BY 4.0 by the author.