Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "log"
- "reflect"
- )
- type Hoge struct {
- Name string
- }
- type Fuga struct {
- Name string
- }
- func main() {
- hogeType := reflect.TypeOf(Hoge{})
- fugaType := reflect.TypeOf(Fuga{})
- types := []reflect.Type{
- hogeType, fugaType,
- }
- for _, t := range types {
- log.Printf("type is %s", t.String())
- v := reflect.New(t).Interface()
- log.Printf("reflect new type is %T", v)
- var v2 interface{}
- if t.Kind() != reflect.Ptr {
- v2 = reflect.New(t).Elem().Interface()
- }
- log.Printf("reflect new elem type is %T", v2)
- }
- }
Add Comment
Please, Sign In to add comment