隐式重复前一个非空表达式

隐式重复前一个非空表达式

隐式重复前一个非空表达式 #

Go 的 const 语法提供了“隐式重复前一个非空表达式”的机制,比如下面代码:

const (
    Apple, Banana = 11, 22
    Strawberry, Grape
    Pear, Watermelon
)

这个代码里,常量定义的后两行并没有被显式地赋予初始值,所以 Go 编译器就为它们自动使用上一行的表达式,也就获得了下面这个等价的代码:

const (
    Apple, Banana = 11, 22
    Strawberry, Grape  = 11, 22 // 使用上一行的初始化表达式
    Pear, Watermelon  = 11, 22 // 使用上一行的初始化表达式
)

Viewpoint #

From #

14|常量:Go在“常量”设计上的创新有哪些?