gpt4 book ai didi

database - aerospike-go 库中的嵌入式结构意外行为

转载 作者:IT王子 更新时间:2023-10-29 01:44:54 26 4
gpt4 key购买 nike

Aerospike Go 客户端

问题

需要向所有集合添加一组公共(public)字段,即 CreatedAt、UpdtedAt、DeletedAt 等。为此,我创建了一个结构并将其嵌入到所有集合结构中。我需要将公共(public)结构的字段保存在集合中作为给定记录的字段

示例代码

type Table struct {
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt time.Time
}


type Account struct {
Table
Name string
Status bool
.....
}

对于上面提到的struct Account。我希望记录以bin名称存储

CreatedAt,UpdatedAt,DeletedAt,Name,Status.....

但是当记录被存储时,bin 名称是

Table,Name,Status...

Table 是一个包含键值的映射

是否有可能实现预期的行为?如果是怎么办?

最佳答案

结构嵌入嵌入方法但不反射(reflect)属性。内部类型的属性可通过外部类型访问,但不存在于外部类型的属性中。因此,定义 Table 类型的属性实际上是定义 Table 类型的属性,而不是将 Table 类型的所有属性反射(reflect)到类型 Account.

尝试打印您的 Account 结构 - playground .

关于database - aerospike-go 库中的嵌入式结构意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41931030/

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