gpt4 book ai didi

go - 该代码如何工作,该语法在哪里记录?

转载 作者:行者123 更新时间:2023-12-01 22:41:20 24 4
gpt4 key购买 nike

我在https://gist.github.com/miguelmota/904f0fdad34eaac09c5d53098f960c5c找到了一个github片段自定义解编JSON。它运作良好,但是我讨厌使用我不理解的代码。
具体来说,这部分使用的是我不熟悉的语法:

type Alias MyStruct
aux := &struct {
SomeCustomType int64 `json:"someCustomType"`
*Alias
}{
Alias: (*Alias)(s),
}
我了解一种新类型,即 Alias被声明,并且它与MyStruct具有相同的字段。 aux初始化为具有重定义字段 SomeCustomType的结构的指针。
我以前没有看到的是 Alias struct- aux中的 (*Alias)(s)声明。
这实际上是在做什么?在哪里可以找到有关此Go语法的文档?

最佳答案

{ Alias: (*Alias)(s) }部分不是声明,而是struct literal
结构文字可设置结构的字段(在本例中为匿名结构)。让我们分解一下:Alias:部分正在设置结构的embedded field。由于该结构嵌入了*Alias,因此它没有字段名称,而是使用类型。(*Alias)(s)部分是显式的type conversion,将任何s更改为*Alias类型(只要类型兼容)。

关于go - 该代码如何工作,该语法在哪里记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63498894/

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