go - 如何从 golang 中的字段类型内部访问结构标记

标签 go time reflection tags

我想知道是否可以以及如何从该结构中使用的自定义类型访问结构标记集。

type Out struct {
    C Custom `format:"asd"`
}

type Custom struct {
}

func (c Custom) GetTag() string {
    // somehow get access to `format:"asd"`
}

我的目标是能够为解码/编码定义时间格式,并处理由 structtag 参数化的实际时间解码。

谢谢

最佳答案

那是不可能的。标签属于结构字段,而不是类型。所以 C 类型无法知道使用了什么标签。另外,如果出现以下情况,它将如何工作:

type A struct {
  C Custom `tag1`
}
type B struct {
  C Custom `tag2`
}

关于go - 如何从 golang 中的字段类型内部访问结构标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57895092/

相关文章:

c - 将时间字符数组转换为 C 中的整数

javascript - Javascript 是否使用本地计算机时间?

java - 如何使用反射以外的方式填充 JavaBean

reflection - 如何通过反射使用 Kotlin 对象

go - 变音符号和 slice

GoLang 约定 - 从 slice 创建自定义类型

encryption - Golang AES CFB - 变异 IV

database - 如何对随时间缓慢变化的数据建模?

.net - 为什么查找类型的初始值设定项会抛出 NullReferenceException?

go - VSCode编辑Go模板报错 "property value expected css"和 "at-rule or selector expected css"