在 Go 语言中,通常不会直接存储结构体的类型,而是通过其他方式来处理与结构体类型相关的信息。
一种常见的方式是使用接口来处理不同类型的结构体。例如:
package main
import “fmt”
type Animal interface {
Sound() string
}
type Dog struct{}
func (d Dog) Sound() string {
return “汪汪汪”
}
type Cat struct{}
func (c Cat) Sound() string {
return “喵喵喵”
}
func main() {
animals := []Animal{Dog{}, Cat{}}
for _, animal := range animals {
fmt.Println(animal.Sound())
}
}
在上述示例中,定义了一个 Animal 接口,Dog 和 Cat 结构体实现了该接口。然后通过接口切片 []Animal 来存储不同类型的结构体实例。
如果您是想以某种方式标识结构体的类型,例如为了序列化或数据存储,可以为结构体添加一个类型字段来表示其类型。