4.3. 프로그램언어 고(Go)에서의 상수 사용법

프로그램언어 고(Go)에서의 문자 상수 사용법

고(Go) 프로그래밍 언어에서 문자 상수를 사용하는 방법에 대해 설명드리겠습니다.

고(Go)에서 문자 상수는 작은따옴표(”)로 묶여있는 하나의 문자를 말합니다. 예를 들어 ‘A’나 ‘가’가 문자 상수입니다.


var ch1 byte = 'A'
var ch2 rune = '가'

위 예제코드에서 보다시피 byte와 rune 타입 모두 문자 상수를 저장할 수 있습니다.

byte 타입은 ASCII 문자 코드값을 저장하는 데 사용되고, rune 타입은 유니코드 코드포인트를 저장하는 데 사용됩니다.

예를 들어 복수의 문자를 하나의 문자 상수로 인식하려고 하면 에러가 발생합니다.


var ch3 byte = 'AB' // 컴파일 에러 발생

위와 같이 따옴표에 둘 이상의 문자를 집어넣으면 컴파일 에러가 납니다.
다만 rune 타입의 경우 복수의 바이트를 조합한 유니코드 문자는 허용합니다.


var ch4 rune = '가나' // 유효한 코드

‘가나’는 4바이트 유니코드 문자로, rune 타입에 저장할 수 있습니다.

이외에도 고(Go)의 문자 상수 사용 시 주의할 점들이 있습니다.
예를 들어 빈 문자열은 유효하지 않고, 이스케이프 시퀀스 사용에 제약이 있습니다.

자세한 내용은 고(Go) 문서를 참고하기 바랍니다.

프로그램언어 고(Go)에서의 숫자 상수 사용법

Go언어에서 숫자 상수를 사용하는 방법은 다음과 같습니다.


package main

import "fmt"

func main() {
  // 10진수
  var dec int = 10 

  // 8진수  
  var oct int = 010 // 8진수는 앞에 0을 붙입니다

  // 16진수
  var hex int = 0x10 // 16진수는 앞에 0x를 붙입니다

  fmt.Println(dec) // 10
  fmt.Println(oct) // 8
  fmt.Println(hex) // 16
}

위의 예제코드에서 볼 수 있듯이, Go언어에서는 10진수 외에도 8진수와 16진수 숫자 상수를 사용할 수 있습니다.

– 10진수는 그냥 숫자를 입력하면 됩니다.
– 8진수는 숫자 앞에 0을 붙입니다.
– 16진수는 숫자 앞에 0x를 붙입니다.

이처럼 진법에 따라 다양한 형태의 숫자 상수를 사용할 수 있습니다. 특히 8진수와 16진수는 비트 연산이나 낮은 수준의 하드웨어 제어등에 자주 사용되므로 알아두면 좋습니다.

예제코드에서 fmt.Println 함수를 사용하여 각 진법의 숫자 상수 값을 출력하고 있습니다. 10진수 10, 8진수 010은 10진수로 8, 16진수 0x10은 10진수로 16입니다.

이와 같이 Go언어에서는 진법에 따라 다양한 숫자 상수 표현을 지원하며, 앞에 지정된 접두사(0 또는 0x)에 따라 진법이 결정됩니다. 숫자 상수 사용 시 진법과 접두사에 유의하시기 바랍니다.

더 자세한 내용이 궁금하신 분은 Go언어 문서나 참고서를 참고하시기 바랍니다. 최대한 친절하고 쉽게 설명드렸으나 부족한 부분이 있다면 양해 부탁드립니다.

프로그램언어 고(Go)에서의 부울 상수 사용법

고(Go) 프로그램언어의 부울 상수 사용법에 대해 설명드리겠습니다.

고(Go)에서는 true와 false라는 두 가지 부울 상수를 제공합니다. 이는 다음과 같이 사용할 수 있습니다.


var b1 bool = true
var b2 bool = false

if b1 {
  fmt.Println("b1 is true") 
}

if !b2 {
  fmt.Println("b2 is not false") 
}

위 예제코드에서 보다시피 b1과 b2라는 부울 변수를 선언하고 각각 true와 false 값을 할당하였습니다.
그리고 if문의 조건으로 이 부울 변수들을 활용하고 있습니다.

! 연산자를 사용하면 부울 값을 반전시킬 수 있습니다. !b2는 b2가 false이기 때문에 true가 됩니다.

이외에도 고(Go)에서는 다음의 값들이 거짓으로 처리됩니다.

– false
– 0
– any nil pointer or interface value
– empty string “”
– 0.0, -0.0
– empty array, slice, map, channel

그 외의 모든 값은 참으로 처리합니다. 즉 0이 아닌 숫자, “foo”와 같은 비어있지 않은 문자열, [1]이나 make(map[int]int) 返回 값과 같은 초기화된 자료구조 등도 모두 참으로 처리됩니다.

if, for 문과 같은 조건문이나 부울 연산자들에서 이런 특성을 사용할 수 있습니다.

이렇게 고(Go) 프로그램언어의 부울 상수와 그 사용법에 대해 간략히 설명드렸습니다.
예제코드와 주석, 추가 설명을 통해 더 이해하기 쉽게 설명드릴 수 있었던 것 같습니다.
앞으로 더 자세한 내용은 공식 문서나 서적을 참고하시기 바랍니다.

프로그램언어 고(Go)에서의 상수 그룹 사용법

고(Go)언어에서 상수 그룹 사용법을 친절하게 설명드리겠습니다.

고(Go)언어에서 여러 개의 상수를 그룹화하여 사용할 수 있습니다. 이를 상수 그룹이라고 합니다. 상수 그룹을 정의하기 위해서는 const 키워드를 사용합니다.

const (
    AreaCircle = 3.14 * r * r
	AreaRect  = w * h
)

위 예제에서 AreaCircle과 AreaRect은 각각 원의 넓이, 사각형의 넓이를 계산하기 위한 상수입니다. 이렇게 비슷한 상수들을 그룹화하면 가독성이 좋고 관리하기 편리합니다.

상수 그룹에서 여러 개의 상수를 동시에 정의할 때에는 아래와 같이 한 줄에 한 상수씩 정의할 수 있습니다.

const (
    Pi = 3.1415
    e  = 2.71828
    c  = 300000000 // meter/second
)

상수 그룹 내에서 한 상수가 다른 상수를 활용할 수도 있습니다.

const (
    Pi = 3.1415
    DoublePi = Pi * 2
)

위 예제에서 DoublePi 상수는 Pi 상수 값을 활용하여 두 배를 한 값입니다.

또한 iota라는 특수한 값을 사용하여 상수 그룹 내에서 고유한 정수 상수값을 자동으로 생성할 수 있습니다.

const (
     F1 = iota // 0
     F2        // 1
     F3        // 2
)

이와 같이 상수 그룹은 여러 상수를 효과적으로 관리할 수 있게 해주는 고(Go)언어의 유용한 기능입니다. 여기에 대한 자세한 사항은 공식 문서를 참고해주시기 바랍니다.

프로그램언어 고(Go)에서의 열거형 상수 사용법

프로그램언어 고(Go)에서 열거형 상수를 사용하면 관련된 상수들을 함께 정의할 수 있습니다. 열거형은 열거형 이름과, 그 안에 정의된 상수들로 구성됩니다.

package main

import "fmt"

type Color int

const (
   Red Color = iota // 0
   Blue // 1
   Green // 2 
)

func main() {
  fmt.Println(Red, Blue, Green) 
}

위의 예제에서 Color라는 이름의 열거형을 정의하고, Red, Blue, Green 세 개의 상수를 정의했습니다. 여기서 iota는 자동으로 0부터 1씩 증가하는 값을 제공합니다.

따라서 Red는 0, Blue는 1, Green은 2의 값을 가집니다. main 함수에서 이 상수들을 fmt.Println으로 출력하면 해당 정수 값이 출력됩니다.

이렇게 열거형을 사용하면 관련된 상수들을 모아서 정의할 수 있고, 가독성도 높아집니다. 또한 iota를 사용하여 자동으로 값을 생성할 수 있기 때문에 편리합니다.

열거형은 C 언어의 enum과 유사한 개념으로, 상수들의 집합을 정의할 때 주로 사용합니다. 특히 프로그램에서 숫자 대신에 의미있는 이름의 상수를 사용할 수 있어 유용합니다.

Leave a Comment