在组织我的项目时,我在很多地方都观察到零比较。我希望替换为 或 。我尊重Golang的规格,但我很好奇我们是否可以做到这一点。nilNULLNull我已经为 做了 它,如下所示。interface{}context.Contexttype CON = context.Context type Any = interface{}
1 回答

largeQ
TA贡献2039条经验 获得超8个赞
你不能。您在那里显示的是类型别名。 不是类型。它是各种不同类型的值。你可能希望你可以做一个值为 的常量,类似于你如何做一个值的常量,但这是编译器明确不允许的:nil
nil
0
const NULL = nil
错误:const initializer cannot be nil
根据语言规范:
有布尔常量、符文常量、整数常量、浮点常量、复杂常量和字符串常量。
这些类型都不能有值,因此常量是不可能的。nil
nil
你也可以尝试创建一个保存值的变量,但是你会发现一个问题,如果你不声明变量的类型,它就不起作用:nil
var NULL = nil
错误:use of untyped nil
您可以通过向变量添加一个能够的类型来使其合法,但这样它将不再非常有用,因为它只能与该特定类型进行比较。nil
- 1 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消