尝试创建 MovingAvarage 类型的切片
Trying to create slice of type MovingAvarage
我正在使用 RobinUS2/golang-moving-average 库来计算移动平均数,但我无法将这些平均数的一部分组合起来计算多个变量的 MA。
ma := []movingaverage.MovingAverage{}
ma[0] = movingaverage.New(15)
ma[0].Add(3.14)
有什么问题吗?我得到一个索引超出范围的错误。谢谢!
您需要使用
预先调整切片大小
ma := make(movingaverage.MovingAverage, 5)
给出容量为 5、长度为 5 的切片,每个条目都设置为零值
最好像您一样初始化它,然后使用
添加新条目
ma = append(ma, movingaverage.New(15))
如果您知道最终的切片有多大,您可以使用
预分配底层数组
ma := make(movingaverage.MovingAverage, 0, 5)
这将为您提供长度为 0 但容量为 5 的切片,因此您不必重复进行内存分配和移动
我正在使用 RobinUS2/golang-moving-average 库来计算移动平均数,但我无法将这些平均数的一部分组合起来计算多个变量的 MA。
ma := []movingaverage.MovingAverage{}
ma[0] = movingaverage.New(15)
ma[0].Add(3.14)
有什么问题吗?我得到一个索引超出范围的错误。谢谢!
您需要使用
预先调整切片大小ma := make(movingaverage.MovingAverage, 5)
给出容量为 5、长度为 5 的切片,每个条目都设置为零值
最好像您一样初始化它,然后使用
添加新条目ma = append(ma, movingaverage.New(15))
如果您知道最终的切片有多大,您可以使用
预分配底层数组ma := make(movingaverage.MovingAverage, 0, 5)
这将为您提供长度为 0 但容量为 5 的切片,因此您不必重复进行内存分配和移动