"new" 和 "gen" 之间的区别

Difference between "new" and "gen"

我已经在控制台和调试器中做了一些尝试,但我仍然对 new 和 gen 的工作方式有何不同有一些疑问。

用new生成struct与用gen生成struct有什么区别?

是否 "gen" 使用现有分配的内存并 "new" 分配新内存?还是都分配内存?

"new" 生成的所有内容都像 "gen" 语句吗?

在 cdnshelp 中它说 "new" 是一个浅结构,这意味着结构字段没有分配。 "gen"也是这样吗?

调用 new 将为结构分配内存(其他内部 struct 字段除外)并调用该结构的 init() 函数。

调用 gen 将完成 new 所做的一切,但也会随机化结构的字段。如果结构的任何字段是其他结构,它也会对它们调用 gen