更新:Nim没有泛型类型的默认值(请参见答案)。
为什么Nim不对泛型类型使用默认值?
我希望能够具有不同的Company
版本,但是Company[void]()
当我不需要通用类型参数而只使用时,我不想指定它Company()
。
但这不是这样,下面的代码无法编译,为什么?那么,泛型类型的默认值有什么意义呢?
type Company*[T = void] = object
name*: string
data*: T
echo Company()
该代码无法编译,因为Nim没有通用类型AFAIK的默认值,不确定您知道它在哪里(如果在文档中的某个位置找到它,请链接它,我之前从未见过) 。
您可以做的是为您的默认类型添加别名,如下所示:
type
Company*[T] = object
name*: string
data*: T
VoidCompany = Company[void]
echo VoidCompany()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句