🐾   [golang] 타입(type) 확인 하는 방법

배경

for range를 사용할때 string 타입은 rune 타입이라고 했는데 숫자가 나와서 당황했다. 그 숫자의 의미가 아스키코드라고 생각했었다. 그래서 타입이 뭐가 나오는지 궁금했다.

배경에 대한 예시

str := "안녕! Genie"

for index, value := range str {
fmt.Println("index : ", index, " value : ",value)
fmt.Println(reflect.TypeOf(value))
}

결과

index :  0  value :  50504
int32

..

index :  12  value :  101
int32
  • rune 타입를 int32로 재정의한다고 한다.

타입(type) 확인 하는 방법

reflect.TypeOf()

이 함수를 사용해서 타입을 확인할 수 있다.

예시

func CheckType() {
num := 3
boolean := true
float := 5.2222
arr := [6]string{"월", "화", "수", "목", "금"}
str := "안녕! Genie"

fmt.Println("string 타입 : ", reflect.TypeOf(str))
fmt.Println("int 타입 : ", reflect.TypeOf(num))
fmt.Println("bool 타입 : ", reflect.TypeOf(boolean))
fmt.Println("float64 타입 : ", reflect.TypeOf(float))
fmt.Println("배열 타입 : ", reflect.TypeOf(arr))

}

결과

string 타입 :  string
int 타입 :  int
bool 타입 :  bool
float64 타입 :  float64
배열 타입 :  [6]string

​ ​ ​