为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Go中使用带有可为空的字符串参数的函数?

如何在Go中使用带有可为空的字符串参数的函数?

Go
繁星点点滴滴 2021-04-13 17:14:22
我已经习惯了Java的String,在其中我们可以传递null而不是传递“”以获取特殊含义,例如使用默认值。在Go中,字符串是原始类型,因此我无法将nil(null)传递给需要字符串的参数。我可以使用指针类型编写函数,如下所示:func f(s *string)因此,调用者可以将该函数调用为f(nil)或者// not so eleganttemp := "hello";f(&temp) 但很遗憾,以下内容是不允许的:// elegant but disallowedf(&"hello");使参数接收字符串或nil的最佳方法是什么?
查看完整描述

3 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

如果您需要处理possibble空值(becasue你谈话的可能,例如为他们提供一个数据库)的database/sql包具有类型,如sql.NullStringsql.NullInt64,让您的测试,如果你已经提供一个值或不使用他们的.Valid领域。


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 559 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信