should use make([]*types.MetricData, 0) instead
45 if len(seriesList1) != len(seriesList2) {
46 return nil, fmt.Errorf("seriesListFirstPos and seriesListSecondPos must have equal length")
47 } else if len(seriesList1) == 0 {
48 return make([]*types.MetricData, 0, 0), nil 49 }
50
51 aggFuncStr, err := e.GetStringArg(2)
Description
The make
function has default values for the length and capacity arguments.
- For channels and maps, the length defaults to zero.
- For slices the capacity defaults to the length.
Bad practice
ch = make(chan int, 0)
sl = make([]int, 1, 1)
Recommended
ch = make(chan int, 0)
sl = make([]int, 1, 1)
However, using named constants with channels is not considered an antipattern, for accommodating debugging, math, or platform-specific code.
const c = 0
ch = make(chan int, ch) // No issues raised