golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《处理 Go 中的可选布尔查询参数》带大家来了解一下##content_title##,
golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《处理 Go 中的可选布尔查询参数》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!
我正在开发一个 api,其中 get
请求具有一组可应用于数据的过滤器。
其中一个过滤器是二元且非强制的。
我当前的方法是使用 *bool
而不是 bool
来区分过滤器的指定值和非指定值。
var isVisible *bool
isVisibleParam := query.Get("is_visible")
isVisibleParsed, err := strconv.ParseBool(isVisibleParam)
if err != nil {
isVisible = nil
} else {
isVisible = &isVisibleParsed
在 sql 中为了正确覆盖这种情况,我有 $param is null or is_visible = $param
上面的代码看起来有点难看,尽管它工作正常。有没有更优雅的方法来实现相同的目的?
我认为使用布尔指针来区分“指定”与“非指定”看起来不错。在 sql 方面,也许您可以检查它是否不为空,然后将条件附加到查询中。至于代码,也许压缩它会变得更好:
var isVisible *bool
if isVisibleParam, err := strconv.ParseBool(query.Get("is_visible")); err == nil {
isVisible = &isVisibleParam
}
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《处理 Go 中的可选布尔查询参数》文章吧,也可关注编程网公众号了解相关技术文章。
--结束END--
本文标题: 处理 Go 中的可选布尔查询参数
本文链接: https://lsjlt.com/news/595955.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0