新的匿名结构指针
我是 Go 新手,定义单独的类型结构不如将结构一个一个地放在另一个结构中漂亮,如果我有这样的结构
var out outter
type outter struct {
a int
b string
...
s map[string]*struct{
sa int
sb string
...
}
}
,那么我可以访问 s
映射以使用简单的 out 进行读取。 s["abc"].sa
...如果我只能以某种方式将值插入到这样的匿名结构中。所以我的问题是如何在我的函数中的某个位置的地图 s
中插入新值。
out.s["abc"] = new( typeof(*out.s[""]) ) // something like that
I am new to Go, and defining separate type structs is less pretty than having structs one inside other, and if i have struct like this
var out outter
type outter struct {
a int
b string
...
s map[string]*struct{
sa int
sb string
...
}
}
Then I could access s
map for reading with simple out.s["abc"].sa
... if I could only somehow insert values to such anonymous struct. So my question is how to insert new values in map s
somewhere in my functions.
out.s["abc"] = new( typeof(*out.s[""]) ) // something like that
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用匿名结构,分配很乏味,但并不困难:(
https://go.dev/ play/p/p/hvu_tqteq6q )。
正如@jimb指出的那样,如果您命名struct:
在这种情况下,这会变得容易得多(在这种情况下,您可以写
( https://go.dev/play/p/65ywniobsbm )。
With the anonymous struct the allocations are tedious but not difficult:
(full code at https://go.dev/play/p/HVU_tQtEQ6Q).
As @JimB pointed out, this gets much easier, if you name the struct:
In this case you can write
(code at https://go.dev/play/p/65yWNioBSBm).