首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整个const块的集合类型

整个const块的集合类型
EN

Stack Overflow用户
提问于 2020-11-13 19:10:53
回答 1查看 384关注 0票数 0

我有一个自定义的数据类型

type Custom string

和一个康斯特街区

代码语言:javascript
复制
const (
    Item1 = "placeholder"
    ...
    Item10 = "placeholder"
)

是否可以在不需要将其放置在每个条目的情况下,设置const块中的每个项的自定义类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-13 19:50:59

规范:常量声明:

ConstDecl = "const“( ConstSpec区)(”{ ConstSpec ";“}”)。ConstSpec = IdentifierList [ Type "=“ExpressionList ]。

常量声明是一系列常量规范,其中每个规范都包含可选类型。

可以利用的一件事是:

在括号大小的const声明列表中,表达式列表可以从除第一个ConstSpec之外的任何一个ConstSpec中省略。这种空列表等效于前面的第一个非空表达式列表及其类型(如果有的话)的文本替换。因此,省略表达式列表等同于重复前一个列表。标识符的数量必须等于前一个列表中的表达式数。与常数发生器一起,这种机制允许对顺序值进行轻量级声明.

因此,例如,在下面的示例中,Item1Item2都是Custom类型

代码语言:javascript
复制
const (
    Item1 Custom = "v1"
    Item2
)

这里的问题是,Item1Item2都有相同的"v1"值。除非在表达式中使用iota,否则这并不真正有用。

只指定类型一次的一种方法是在值之前列出标识符:

代码语言:javascript
复制
const (
    Item1, Item2 Custom = "v1", "v2"
)

在上面的示例中,Item1Item2都是Custom类型,在围棋游乐场上尝试一下。这里的缺点是标识符可能“远离”它的值,这比在单独的行中列出它们的可读性更低:

代码语言:javascript
复制
const (
    Item1 Custom = "v1"
    Item2 Custom = "v2"
)

或者,您可以使用类型化常量值将类型“移动”到表达式:

代码语言:javascript
复制
const (
    Item1 = Custom("v1")
    Item2 = Custom("v2")
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64826695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档