首页 >后端开发 >Golang >如何在 Golang 中正确初始化嵌套结构?

如何在 Golang 中正确初始化嵌套结构?

Barbara Streisand
Barbara Streisand原创
2024-12-22 02:41:12363浏览

How to Properly Initialize Nested Structs in Golang?

Golang 中的嵌套结构初始化

在 Golang 中使用嵌套结构时,初始化主结构可能会很棘手。本指南旨在为尝试使用嵌入的匿名结构体作为字段来初始化结构体时遇到的错误提供解决方案。

遇到错误

此代码尝试初始化DetailsFilter具有嵌套匿名结构 Filter 的结构。但是,当尝试从映射中初始化 Filter 字段时,会遇到错误:

解决方案

建议的解决方案是避免在构造期间初始化嵌套匿名结构。相反,初始化零值结构,然后将值分配给嵌套字段:

另一种选择是命名匿名结构类型并显式初始化它:

其他注意

  • 遇到的错误是因为map中包含一个interface{}值,不能直接赋值给struct字段。
  • 命名匿名结构类型可以进行更显式的初始化。
  • 使用嵌套结构时,了解不同初始化方法的限制非常重要。

以上是如何在 Golang 中正确初始化嵌套结构?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn