这个为什么从 map[string]ValType 改为结构体？