func fieldByTag(x interface{}, tag string) string {
	tagm := tags(x)
	v := reflect.ValueOf(x)
	if v.Kind() == reflect.Ptr {
		v = v.Elem()
	}
	if i, ok := tagm[tag]; ok {
		return v.Field(i).Interface().(string)
	}
	return ""
}
// fieldByTag returns the value for the field in x with the given JSON tag, or "" if there is no such field.
fieldByTag returns the value for the field in x with the given JSON tag, or "" if there is no such field.
// fieldByTag returns the value for the field in x with the given JSON tag or " " if there is no such field .
func fieldByTag(x interface{}, tag string) string {
	tagm := tags(x)
	v := reflect.ValueOf(x)
	if v.Kind() == reflect.Ptr {
		v = v.Elem()
	}
	if i, ok := tagm[tag]; ok {
		return v.Field(i).Interface().(string)
	}
	return ""
}
func fieldByTag ( x interface { } , tag string ) string { tagm := tags ( x ) v := reflect . ValueOf ( x ) if v . Kind ( ) == reflect . Ptr { v = v . Elem ( ) } if i , ok := tagm [ tag ] ; ok { return v . Field ( i ) . Interface ( ) . ( string ) } return " " }
fieldByTag returns the value for the field in x with the given JSON tag, or "" if there is no such field.
fieldByTag returns the value for the field in x with the given JSON tag or " " if there is no such field .