[Go 언어] 12. const 키워드로 상수 정의

안녕하세요. 언제나 휴일, 언휴예요.

이전 게시글에서는 기본적인 변수 형식을 알아보았어요. 이번 게시글에서는 상수를 알아보기로 해요. 프로그래밍에서 특정 의미를 갖는 고정 값을 상수로 표현하면 가독성이 높아집니다. 50보다는 max_student로 표현하는 것이 가독성이 높다는 것이죠. 또한 해당 값을 변경하고자 할 때 상수명에 상수 값을 정의하는 곳에서만 바꾸면 나머지 소스 코드에 수정없이 변경할 수 있어 편의성도 높일 수가 있어요.

먼저 새 프로젝트를 생성하여 상수 표현을 사용해 보기로 해요.

[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가

[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가

// Example 상수 표현
package main
import "fmt"
func main() {
    const max_hp int = 100
    const err_msg string = "잘못 사용하였습니다."
   
    fmt.Println(max_hp)
    fmt.Println(err_msg)
   
    const max_x, max_y int = 100, 200 //여러 개의 상수 정의
    fmt.Println(max_x)
    fmt.Println(max_y)
   
    const (
        start_x, start_y     int    = 0, 10
       msg_score, msg_level string = "스코어", "레벨"
    )//상수 여러 개를 괄호 블럭 내에 정의   
    fmt.Println(start_x)
    fmt.Println(start_y)
    fmt.Println(msg_score)
    fmt.Println(msg_level)
}

Go 언어에서 const 키워드와 상수명 형식 = 상수값 표현으로 상수를 정의할 수 있어요.  주의할 사항은 상수는 상수명과 상수값을 선언문에 동시에 표현해야 하며 선언한 후에 상수값을 지정할 수 없다는 것이예요.

  • 상수 정의
    const max_hp int = 100
    const err_msg string = "잘못 사용하였습니다."

const 키워드 뒤에 콤마로 여러 개의 상수명을 명시하고 = 뒤에 상수값을 콤마로 나열하여 여러 개의 상수를 정의할 수도 있어요.

  • 콤마로 여러 개의 상수 정의 구분
    const max_x, max_y int = 100, 200 //여러 개의 상수 정의

그리고 여러 줄에 걸쳐 상수를 정의할 때 const 키워드 뒤에 ( )블록을 만들어 블록 내부에 여러 개의 상수를 정의할 수 있어요.

  • ( )내에 여러 개의 상수 정의
    const (
        start_x, start_y     int    = 0, 10
       msg_score, msg_level string = "스코어", "레벨"
    )//상수 여러 개를 괄호 블럭 내에 정의   
[그림 2] 상수 표현 예제 실행 화면