GO语言"reflect"包中"StructTag.Lookup"类型的用法及代码示例。
用法:
func(tag StructTag) Lookup(key string)(value string, ok bool)
查找返回与标签字符串中的键关联的值。如果标签中存在键,则返回值(可能为空)。否则返回值将是空字符串。 ok 返回值报告该值是否在标记字符串中显式设置。如果标签没有常规格式,则 Lookup 返回的值是未指定的。
例子:
package main
import (
"fmt"
"reflect"
)
func main() {
type S struct {
F0 string `alias:"field_0"`
F1 string `alias:""`
F2 string
}
s := S{}
st := reflect.TypeOf(s)
for i := 0; i < st.NumField(); i++ {
field := st.Field(i)
if alias, ok := field.Tag.Lookup("alias"); ok {
if alias == "" {
fmt.Println("(blank)")
} else {
fmt.Println(alias)
}
} else {
fmt.Println("(not specified)")
}
}
}
输出:
field_0 (blank) (not specified)
相关用法
- GO StructTag用法及代码示例
- GO StructOf用法及代码示例
- GO StreamWriter用法及代码示例
- GO Strings用法及代码示例
- GO Stringer用法及代码示例
- GO StripPrefix用法及代码示例
- GO StreamReader用法及代码示例
- GO Stmt用法及代码示例
- GO Stmt.QueryRowContext用法及代码示例
- GO Scanner.Scan用法及代码示例
- GO Split用法及代码示例
- GO Server.Shutdown用法及代码示例
- GO Slice用法及代码示例
- GO SplitAfter用法及代码示例
- GO Sum256用法及代码示例
- GO SectionReader用法及代码示例
- GO Sin用法及代码示例
- GO Sprintf用法及代码示例
- GO SendMail用法及代码示例
- GO Sprint用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 StructTag.Lookup。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。