公司外包团队写的代码:
func (s *StudController) WorkList(param struct {
StudId int `!;>0`
LatestId int `!;>0`
}) web.GetResult {
//省略里面的代码了
}
这里的
'!;>0
'
表示啥意思啊?
有疑问加站长微信联系(非本文作者)

公司外包团队写的代码:
func (s *StudController) WorkList(param struct {
StudId int `!;>0`
LatestId int `!;>0`
}) web.GetResult {
//省略里面的代码了
}
这里的
'!;>0
'
表示啥意思啊?
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
你把第二行和第三行的换行给去掉应该就看得懂了
@SugarAYuan 'StudentId int
!;>0
LatestId int!;>0
'这样子?以前做Java的,还是看不懂啊?请大侠明示 :)
struct成员变量标签,自己可以搜 golang tag ,至于1楼的说法,恕我愚钝,我也没明白
@MR_bai 刚才翻Struct的文档,确实找到Struct Tag的描述了,大概知道用途。只是这里 '!;>0'的含义还是没看懂,熟悉面向对象的人,再看Go Lang的语法,简直是灾难 ~~~
这是注释。 看上去是验证鬼规则。
具体看用了什么库
StudId 必须大于0
同意#5,这个标签具体什么含义得看用的库,tag是可以自己定义形式,根据不同的业务自己通过反射读取tag内容。看这个样子感觉是自定义的格式
WorkList 后面不应该跟着一个小括号的么?为什么跑到第三行去了? 难道WorkList不是一个函数
主要是struct { StudId int
!;>0
LatestId int!;>0
}是一个匿名结构体,其实就是param的类型。其他的和普通方法没差。对比下面两种用法可以很明显看出原因
我只能说这是一种很蠢的描述法.......目测意思是 !非空,即非0 ,>0即该值大于0 合起来的意思就是这个字段是自然数(1,2,3,4,5.....)