Можно ли предоставить имя динамически создаваемой структуре (с использованием отражения) в Golang - PullRequest
1 голос
/ 20 июня 2020

У меня есть динамически созданная структура, и я хотел бы дать ей имя. Возможно ли это сделать?

// Test ...
type Test struct {
    Name string
}

func main() {
    structFields := []reflect.StructField{
        {
            Name: "Name",
            Type: reflect.TypeOf(""),
        },
    }
    // Provide a Name to this structDec 
    structDec := reflect.StructOf(structFields)

    fmt.Printf("\nType Dynamic : %+v\n", structDec)
    fmt.Printf("\nType Test : %+v\n", reflect.TypeOf(Test{}))
}

Это напечатает

Type Dynamic : struct { Name string }

Type Test : main.Test
  1. Можно ли задать имя, например Test1 для Dynami c Struct structDec?
  2. Как go получает имя структуры? Я вижу, что во время Dynami c создания структуры значение str (, которое является тем же значением на выходе ) устанавливается в reflect.structType. Это то, как вычисляется имя для Dynami c Struct's?

Go Детская площадка: https://play.golang.org/p/8ra2pXZIHgp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...