任意类型
在 Go 里:
就是:
它表示“任意类型”。
所以:
可以理解成前端里的:
或者更接近 JSON object:
你这里:
意思就是:
等价理解:
但注意:
本身是任意类型;
才更像“object”。
如果你写:
那就是:
里面可以是对象、字符串、数字、布尔值都行。
如果你写:
那就是:
里面每一项必须是一个对象。
你这个 aPaaS items 是对象数组,所以用 map[string]any 更合适。
可以,用类型别名:
或者 Go 1.18+ 更推荐:
放到 model 包里,比如:
然后就可以写:
你的中间结构也可以写:
返回:
注意是类型别名:
不是新类型:
两者区别是:
完全等价于 map[string]any,兼容性最好。
是一个新的类型,有时候需要手动转换。