【发布时间】:2017-10-14 21:59:21
【问题描述】:
字符串"" 的“nil”值对我来说是有意义的,但0 是一个合法数字。例如,一个房间的人数可以是0,但一个人的名字不能是""。这个约定背后的原因是什么?
(编辑)附加信息:
我想做的是有一种方法来测试是否为数字设置了值。将某人的姓名设置为"" 显然是不正确的,而将整数设置为零可能是合法的。是否有解决这种情况的典型方法?
【问题讨论】:
-
""也是一个合法的字符串。在 Go 中,只有指针和接口值可以为 nil,所以真的没有办法让数字为 nil。 -
也许你的意思是
zero value的号码? -
nil(或null/NULL在其他语言中)不一样,或者替换空字符串或零。它是一个概念,表示没有任何值,一个未知的值或一个在上下文中无关紧要的值。空字符串是无效的人名,但nil可能是完全有效的值。这意味着这个名字还不知道。
标签: go