我想添加一个功能,当数据为[]*struct
时,使用第一个元素。
func getEncFields(t reflect.Type, list map[string]int) {
for t.Kind() == reflect.Ptr {
t = t.Elem()
}
if t.Kind() == reflect.Struct {
for i := 0; i < t.NumField(); i++ {
field := t.Field(i)
tag := field.Tag.Get("bson")
if containsTag(tag, "encr") {
list[getFieldName(field, tag)]++
}
getEncFields(field.Type, list)
}
}
在这段代码中,我需要在数据为[]*Struct
时添加功能。下面是要在此函数中传递的结构类型。
type Customer struct {
Name string `json:"name" bson:"name"`
Acnumber int64 `json:"acnumber" bson:"acnumber,encr"`
Number int64 `json:"number" bson:"number,encr"`
Address []*Address `json:"address" bson:"address"`
}
type Address struct {
Mail string `json:"mail" bson:"mail,encr"`
}
谢谢你的支持
1条答案
按热度按时间myzjeezk1#
像处理指针一样,深入研究数组、切片和Map。
https://go.dev/play/p/1msFGC89NX-