这是我在本站无意间看到的代码,有两个地方不理解。
第一:
结构体成员后例如“ `\w+`
、`[a-zA-Z0-9._%+-]+`
、`@`
”这些都是什么意思,能否解释下?
第二:
结构体里包含 “ _ struct{} `^`
” 是什么意思?这个struct是什么?
还请大神不吝赐教。感谢
有疑问加站长微信联系(非本文作者)

这是我在本站无意间看到的代码,有两个地方不理解。
第一:
结构体成员后例如“ `\w+`
、`[a-zA-Z0-9._%+-]+`
、`@`
”这些都是什么意思,能否解释下?
第二:
结构体里包含 “ _ struct{} `^`
” 是什么意思?这个struct是什么?
还请大神不吝赐教。感谢
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
此代码出现在这里 https://github.com/alexflint/go-restructure
可能是利用反射做一些事情
我也是新手,我试着回答一下。 你的第一个问题,后面的那些"[a-zA-Z0-9.%+-]+"是什么?那个东西叫正则表达式,你上网查查就知道是干什么的了,你这个例子里就是用来匹配email地址用的。 你的第二个问题,类似" struct{}"是什么?跟第一个问题一样,都是正则,只是对于不用的数据就可以用"_"来表示不获取数据。struct{}表示任意类型。
你这例子完整作用就是将一个email格式的字符串信息提取到结构体当中。
谢谢您耐心而详细的回答,非常感谢
谢谢各位,我已经安装上了。
后面的正则表达式实际上是struct成员的“TAG”,这个在GO里面用得很多,包括读取yaml,DB数据读取映射等都有用到