结果是我有一个结构
type Users struct {
ID int `json:"id"`
Name string `json:"name"`
Age string `json:"age"`
}
我有一个mysql数据库,其中一些年龄值为零,所以基本上,为了使其具有动态性,我一直在寻找解决方案。”年龄字符串 json:-
如果从mysql返回值nil,则隐藏该字段。我问了两个问题
query1: select id,name,age from users where age is not null
query2: select id,name from users where age is null
我怎样才能使它成为一个动态查询来显示年龄,如果存在,否则它不会显示它?
2条答案
按热度按时间14ifxucb1#
别那么做。相反,使用nil-able类型作为
Age
现场。*string
或者sql.NullString
是最自然的选择。然后总是选择它,空值将被正确处理。然后始终使用:
什么时候
Age
在数据库中为空,则nil
在go中,当它在数据库中不为null时,它将是指向go中字符串的非nil指针。von4xj4u2#
使用
ifnull()
在你的询问中null
值可以作为''
(字符串的默认值)然后使用
omitempty
在json
年龄标记字段。如果在age中获取默认值,那么在json响应中它将被忽略。