各类软件的版本号定义虽然都不尽相同,但是其基本原理基本上还是相通的:通过特写的字符对字符串进行分割.我们把这一规则稍作整理,放到 struct tag 中,告诉解析器如何解析,下面就以 semver 为例作个示范: type SemVersion struct { Major int `version:"0,.1"` Minor int `version:"1,.2"` Patch int `version:"2,+4,-3"` PreRelea…
有时在Go的结构体定义时会看到这样的形式: type User struct { UserId int `json:"user_id" bson:"b_user_id"` UserName string `json:"user_name" bson:"b_user_name"`}注意上述红色部分,这就称之为struct tag .个人理解struct tag的作用类似于Java的注解的作用,在Go语言中可以通过反射机制在运行时…