是否可以在 Golang 中别名 nil

在组织我的项目时,我在很多地方都观察到零比较。我希望替换为 或 。我尊重Golang的规格,但我很好奇我们是否可以做到这一点。nilNULLNull


我已经为 做了 它,如下所示。interface{}context.Context


type CON = context.Context 

type Any = interface{}


UYOU
浏览 100回答 1
1回答

largeQ

你不能。您在那里显示的是类型别名。 不是类型。它是各种不同类型的值。你可能希望你可以做一个值为 的常量,类似于你如何做一个值的常量,但这是编译器明确不允许的:nilnil0const NULL = nil错误:const initializer cannot be nil根据语言规范:有布尔常量、符文常量、整数常量、浮点常量、复杂常量和字符串常量。这些类型都不能有值,因此常量是不可能的。nilnil你也可以尝试创建一个保存值的变量,但是你会发现一个问题,如果你不声明变量的类型,它就不起作用:nilvar NULL = nil错误:use of untyped nil您可以通过向变量添加一个能够的类型来使其合法,但这样它将不再非常有用,因为它只能与该特定类型进行比较。nil
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go