我有一个自定义的数据类型
type Custom string
和一个康斯特街区
const (
Item1 = "placeholder"
...
Item10 = "placeholder"
)是否可以在不需要将其放置在每个条目的情况下,设置const块中的每个项的自定义类型?
发布于 2020-11-13 19:50:59
ConstDecl = "const“( ConstSpec区)(”{ ConstSpec ";“}”)。ConstSpec = IdentifierList [ Type "=“ExpressionList ]。
常量声明是一系列常量规范,其中每个规范都包含可选类型。
可以利用的一件事是:
在括号大小的
const声明列表中,表达式列表可以从除第一个ConstSpec之外的任何一个ConstSpec中省略。这种空列表等效于前面的第一个非空表达式列表及其类型(如果有的话)的文本替换。因此,省略表达式列表等同于重复前一个列表。标识符的数量必须等于前一个列表中的表达式数。与常数发生器一起,这种机制允许对顺序值进行轻量级声明.
因此,例如,在下面的示例中,Item1和Item2都是Custom类型
const (
Item1 Custom = "v1"
Item2
)这里的问题是,Item1和Item2都有相同的"v1"值。除非在表达式中使用iota,否则这并不真正有用。
只指定类型一次的一种方法是在值之前列出标识符:
const (
Item1, Item2 Custom = "v1", "v2"
)在上面的示例中,Item1和Item2都是Custom类型,在围棋游乐场上尝试一下。这里的缺点是标识符可能“远离”它的值,这比在单独的行中列出它们的可读性更低:
const (
Item1 Custom = "v1"
Item2 Custom = "v2"
)或者,您可以使用类型化常量值将类型“移动”到表达式:
const (
Item1 = Custom("v1")
Item2 = Custom("v2")
)https://stackoverflow.com/questions/64826695
复制相似问题