当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


GO StructTag.Lookup用法及代码示例

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)

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 StructTag.Lookup。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。