我能够创建一个“样本”类型的变量“模型”,如下所示:
type Sample struct {
Id int `jsonapi:"attr,id,omitempty"`
Name string `jsonapi:"attr,name,omitempty"`
}
var model Sample // created successfully
我能够成功创建它,因为我已经知道结构类型(示例)。
但是,当我尝试如下创建类似的变量“a”时,出现语法错误:
package main
import (
"fmt"
"reflect"
)
type Sample struct {
Id int `jsonapi:"attr,id,omitempty"`
Name string `jsonapi:"attr,name,omitempty"`
}
func test(m interface{}) {
fmt.Println(reflect.TypeOf(m)) // prints 'main.Sample'
var a reflect.TypeOf(m) // it throws - syntax error: unexpected ( at end of statement
}
func main() {
var model Sample // I have created a model of type Sample
model = Sample{Id: 1, Name: "MAK"}
test(model)
}
请告知如何在 Go 中创建动态类型的变量。