Go TypeOf()

1 개요[ | ]

Go TypeOf()
Go reflect.TypeOf()
  • Go 자료형 확인 방법 중 하나
  • 변수의 자료형을 확인하는 Go 함수
  • 인터페이스의 동적형을 나타내는 반영형(reflection Type)을 반환한다.
  • 인터페이스가 nil 인터페이스 값이면 nil을 반환한다.
package main

import (
    "fmt"
    "reflect"
)

func main() {
    fmt.Println(reflect.TypeOf(123))     // int
    fmt.Println(reflect.TypeOf(123.45))  // float64
    fmt.Println(reflect.TypeOf("Hello")) // string
    
    fmt.Println(reflect.TypeOf(byte(123)))       // uint8
    fmt.Println(reflect.TypeOf([]byte("Hello"))) // []uint8
    
    fmt.Println(reflect.TypeOf(true))  // bool
    fmt.Println(reflect.TypeOf(false)) // bool
    fmt.Println(reflect.TypeOf(nil))   // <nil>
}
package main

import (
	"fmt"
	"io"
	"os"
	"reflect"
)

func main() {
	// As interface types are only used for static typing, a
	// common idiom to find the reflection Type for an interface
	// type Foo is to use a *Foo value.
	writerType := reflect.TypeOf((*io.Writer)(nil)).Elem()

	fileType := reflect.TypeOf((*os.File)(nil))
	fmt.Println(fileType.Implements(writerType))

}

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}