日常写增删改查相关接口时,编译报错,之前 ctrl+c/ctrl+v 过多,突然自己写时,本以为不会出问题的地方却报错了,如下:
上网百度,有些朋友说是少了双引号 " " ,但显然不是我遇到的错误,最后发现是冒号 : 后多了空格,去掉空格即可。
同样的报错可能引起原因不一样,但都是报错相关的某一模块出了问题,仔细对比即可,下次就不会再犯错了
尴尬 = = ,这问题还花我一段时间去找问题...
另外,
常用tag类型有:
1.json相关:json序列化或反序列化时字段的名称,例如:
type Student struct {
Name string `json:"name, omitempty"`
Age int `json:"age,omitempty"` // “omitempty”选项指定如果字段具有空值,定义为false,0,零指针,nil接口值以及任何空数组,切片,映射或字符串,则该字段应从编码中省略
}
// 也就是如果Age为空或0值,则转json数据格式的时候,默认不输出
2.db相关:sqlx模块中对应的数据库字段名
type Student struct {
Name string `db:"name"`
Age int `db:"age"`
}
其余可参考某大佬文章:结构体常见的tag