package lrc import "github.com/klauspost/reedsolomon" type LRC struct { n int // 总块数,包括局部块 k int // 数据块数量 groups []int // 分组校验块生成时使用的数据块 l *reedsolomon.LRC } func New(n int, k int, groups []int) (*LRC, error) { lrc := &LRC{ n: n, k: k, groups: groups, } l, err := reedsolomon.NewLRC(k, n-len(groups)-k, groups) if err != nil { return nil, err } lrc.l = l return lrc, nil } // 根据全局修复的原理,生成根据输入修复指定块的矩阵。要求input内元素的值