[go] reflect 패키지의 사용법

Go 언어에서는 reflect 패키지를 사용하여 변수의 타입 정보를 가져오거나 동적으로 변수를 조작할 수 있습니다. 이 패키지는 실행 시간에 변수 및 타입 정보를 조사하고 조작할 때 유용합니다.

reflect 패키지의 기능

reflect 패키지를 사용하면 다음과 같은 기능을 수행할 수 있습니다:

  1. 타입 정보 가져오기: 변수의 타입, 메서드, 필드 등의 정보를 가져올 수 있습니다.
  2. 값 조작하기: 변수의 값을 읽거나 설정할 수 있습니다.
  3. 인터페이스 조작하기: interface{}를 사용하여 임의의 타입으로 값을 처리할 수 있습니다.

reflect 패키지 예시

다음은 reflect 패키지의 간단한 예시입니다:

package main

import (
	"fmt"
	"reflect"
)

func main() {
	var num float64 = 3.14
	valueOfNum := reflect.ValueOf(num)
	fmt.Println("타입:", valueOfNum.Type())
	fmt.Println("값:", valueOfNum.Float())

	// 변수 값 수정
	valueOfNum.SetFloat(6.28)
	fmt.Println("변경된 값:", num)
}

위 예시에서는 reflect.ValueOf를 사용하여 변수 num의 타입과 값을 가져온 후, SetFloat를 사용하여 변수의 값을 변경합니다.

reflect 패키지의 더 많은 기능 및 사용법에 대해서는 공식 문서를 참고하시기 바랍니다.

이렇듯 reflect 패키지를 사용하면 Go 언어에서 동적으로 변수를 다루거나 타입 정보를 가져올 수 있어 매우 유용합니다.


위 예시는 reflect 패키지의 기본적인 사용법을 보여주고 있습니다. Go 공식 문서를 참고하시면 더 자세한 내용을 확인하실 수 있습니다.