gpt4 book ai didi

struct - 为什么结构文字是 "literal"

转载 作者:IT王子 更新时间:2023-10-29 00:50:26 24 4
gpt4 key购买 nike

在 golang 中什么是结构字面量?

为什么下面是一个文字,即使有一个变量?结构不是字面上的变量,即使不是常量吗?那么它有什么意义。

MyType{Field: var)

它有一个变量,但它是一个“文字”?

另外,为什么在您第一次初始化它时只将其称为“结构文字”?

最佳答案

编程语言在提到构造某些数据结构的句法方式时使用“文字”一词​​。这意味着它不是通过创建一个空的并随意添加或减去来构建的。

比较:

MyType{Field: myVariable}

var x = new(MyType)
x.Field = myVariable

好处是您的代码外观以某种方式反射(reflect)了数据结构。缺点是您必须提前知道布局并已经初始化内容,这是不可能的,例如,如果您正在构建具有未知键的 map 。

这里是 Go 语言规范中文字的链接。请注意,它们都是定义数据结构的句法方式:

关于struct - 为什么结构文字是 "literal",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29173720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com