Go支持将相似的声明进行分组。
Bad
import "a"
import "b"
Good
import (
"a"
"b"
)
同样适用于常量、变量、和类型声明
Bad
const a = 1
const b = 2
var a = 1
var b = 2
type Area float64
type Volume float64
Good
const (
a = 1
b = 2
)
var (
a = 1
b = 2
)
type (
Area float64
Volume float64
)
仅将相关联的声明放到一组,不相关联的声明不要放到一组
Bad
type Operation int
const (
Add Operation = iota + 1
Subtract
Multiply
ENV_VAR = "MY_ENV"
)
Good
type Operation int
const (
Add Operation = iota + 1
Subtract
Multiply
)
//不相关联的,不要分组
const ENV_VAR = "MY_ENV"
分组的使用范围不受限制。例如,可以在函数内部使用它们:
Bad
func f() string {
var red = color.New(0xff0000)
var green = color.New(0x00ff00)
var blue = color.New(0x0000ff)
...
}
Good
func f() string {
var (
red = color.New(0xff0000)
green = color.New(0x00ff00)
blue = color.New(0x0000ff)
)
...
}