Go 语言提供了运行时反射的内置支持实现,并允许程序在反射包的帮助下操作任意类型的对象。 Golang 中的reflect.Tag.Get()函数用于查找标签字符串中与key 关联的值,如果标签中没有这样的key,则返回空字符串。要访问此函数,需要在程序中导入反射包。
Syntax:
Parameters: This function takes one parameters of string type, i.e. key.
Return Value: This function returns the value associated with key in the tag string.
下面的例子说明了上述方法在 Golang 中的使用:
示例 1:
func (tag StructTag) Get(key string) string
输出:
// Golang program to illustrate
// reflect.Tag.Get() Function
package main
import (
"fmt"
"reflect"
)
type Employee struct {
ID string `auto_increment:"true" increment:"1"`
Name string `varchar: "255"`
Surname string `"varchar: "255"`
}
// Main function
func main() {
e := Employee{}
// c variable represents table columns
c := reflect.TypeOf(e).Field(0).Tag
fmt.Printf("%s\n\n", c)
// use of Get method
g := c.Get("increment")
fmt.Printf("Get method: %s\n", g)
}
示例 2:
auto_increment:"true" increment:"1"
Get method: 1
输出:
// Golang program to illustrate
// reflect.Tag.Get() Function
package main
import (
"fmt"
"reflect"
)
// Main function
func main() {
type tag struct {
val string `Value_1:"GeeksforGeeks" Value_2:"Best Platform :"`
}
src := tag {}
st := reflect.TypeOf(src)
field := st.Field(0)
// use of Get method
fmt.Println(field.Tag.Get("Value_2"), field.Tag.Get("Value_1"))
}