[go] reflect 패키지의 사용법
Go 언어에서는 reflect
패키지를 사용하여 변수의 타입 정보를 가져오거나 동적으로 변수를 조작할 수 있습니다. 이 패키지는 실행 시간에 변수 및 타입 정보를 조사하고 조작할 때 유용합니다.
reflect 패키지의 기능
reflect
패키지를 사용하면 다음과 같은 기능을 수행할 수 있습니다:
- 타입 정보 가져오기: 변수의 타입, 메서드, 필드 등의 정보를 가져올 수 있습니다.
- 값 조작하기: 변수의 값을 읽거나 설정할 수 있습니다.
- 인터페이스 조작하기:
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 공식 문서를 참고하시면 더 자세한 내용을 확인하실 수 있습니다.