为什么struct literals是;字面上的;
在golang中,什么是结构文字 为什么即使有一个变量,下面的内容也是文字?结构不是字面上的变量吗,即使不是常量?那么这有什么意义呢为什么struct literals是;字面上的;,struct,go,literals,Struct,Go,Literals,在golang中,什么是结构文字 为什么即使有一个变量,下面的内容也是文字?结构不是字面上的变量吗,即使不是常量?那么这有什么意义呢 MyType{Field: var) 它有一个变量,但它是一个“文字” 还有,为什么在您第一次初始化它时,它只被称为“struct literal”?编程语言在引用语法方法来构造某些数据结构时使用“literal”一词。这意味着它不是通过创建一个空的并在运行时加或减来构造的 比较: MyType{Field: myVariable} 到 好处是代码的外观在某种
MyType{Field: var)
它有一个变量,但它是一个“文字”
还有,为什么在您第一次初始化它时,它只被称为“struct literal”?编程语言在引用语法方法来构造某些数据结构时使用“literal”一词。这意味着它不是通过创建一个空的并在运行时加或减来构造的 比较:
MyType{Field: myVariable}
到
好处是代码的外观在某种程度上反映了数据结构。缺点是,您必须提前知道布局,并且已经初始化了内容,例如,如果您正在构建一个具有未知键的映射,则不可能
以下是Go语言规范中的文本链接。请注意,它们都是定义数据结构的语法方法:
1
是一个int-literal,“foo”
是一个字符串literal,等等。记住这一点的一个简单方法是,结构的数据就在代码中。这意味着它不是通过创建一个空的文本并在执行时进行加减来构造的。
让我非常清楚。谢谢你@andyfeller
var x = new(MyType)
x.Field = myVariable