如何在Go结构体标签中转义反引号

10

我想在Go结构体标签内转义反引号。例如,在下面的代码中:

type User struct {
   email string `validate: "regexp=`"`
   password string `validate: "min=8"`

}


2
这个回答是否解决了你的问题?如何转义反引号 - The Fool
我无法在结构标签中连接字符串。我会收到以下错误:build command-line-arguments: cannot load gopkg.in/validator.v2: module gopkg.in/validator.v2: Get https://proxy.golang.org/gopkg.in/validator.v2/@v/list: unexpected EOF - Victor Timofei
3
这不是与链接问题重复:无法使用该问题中列出的任何答案在结构标记中转义反引号。 - Marc
1个回答

9

您可以使用普通的引号,但是您需要转义更多字符,特别是结构标记值周围的引号。

type User struct {
   Email string "validate:\"regexp=`\""
   Password string `validate:"min=8"`
}

使用反射验证标签的值:

func main() {
  s := reflect.ValueOf(&User{}).Elem()
  fmt.Println(s.Type().Field(0))
}

输出:

{Email  string validate:"regexp=`" 0 [0] false}

1
它已经编译成功,看起来它正在工作。谢谢 :) - Victor Timofei

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接