登录
首页 >  Golang >  Go问答

猜测结构体的构造

来源:stackoverflow

时间:2024-03-21 15:27:33 272浏览 收藏

在 Go 1.17 之前,无法在不定义结构体的情况下推断其类型。提案 #35304 讨论了此功能,但尚未实现。建议的语法包括 `data := {x: y}`、`data := _{x: y}` 和 `data := struct _ {x: y}`,但目前没有共识。欢迎参与讨论或提交自己的提案。

问题内容

我使用它来创建一个结构体,而不定义单独的类型:

data := struct {
    product *domain.userproduct
    options *[]domain.userproductoption
}{
    product: userproduct,
    options: userproductoptions,
}

有没有一种方法可以在不定义 struct 结构的情况下执行相同的操作,因为可以推断字段数量及其类型?像这样的东西:

data := {
    Product: userProduct,
    Options: userProductOptions,
}

正确答案


从 Go 1.17 开始,没有类似的方法可以推断结构体的类型。

提案 #35304 对此进行了一些讨论,但仍处于开放状态。总结讨论:

  • foo({x: y}) - 不可读
  • data := _{x: y} - 不可读 (?)
  • data := struct {x: y} - 重载 struct 的语法
  • data := 元组 {x: y} - 新关键字
  • 。 。 .

欢迎您参与讨论和/或提交您自己的提案。

我认为像 data := struct _ {X: x, Y: y} 这样的东西应该最符合 _ 用来省略事物的哲学(在这种情况下我们想省略 struct定义)。

以上就是《猜测结构体的构造》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>