From 9c0d608a46e21c63f341b29a369757818a718716 Mon Sep 17 00:00:00 2001 From: jiangyong Date: Mon, 6 Oct 2025 13:10:28 +0800 Subject: [PATCH] checklen --- table.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/table.go b/table.go index 947e083..320cc3c 100644 --- a/table.go +++ b/table.go @@ -114,6 +114,16 @@ func NewTableGenerator(config *TableConfig) *TableGenerator { return &TableGenerator{config: config} } +func (t *TableData) Check() error { + headerLen := len(t.Headers) + for _, row := range t.Rows { + if headerLen != len(row) { + return fmt.Errorf("header length does not match row length") + } + } + return nil +} + // 应用缩放因子 func (g *TableGenerator) scaled(value float64) float64 { return value * g.config.ScaleFactor @@ -281,6 +291,10 @@ func (g *TableGenerator) drawTitle(dc *gg.Context, margin, tableWidth float64, t // 生成自适应表格(高清版本) func (g *TableGenerator) Generate(data *TableData, filename string) error { + err := data.Check() + if err != nil { + return err + } g.lock.Lock() defer g.lock.Unlock() // 先创建一个临时上下文来测量文本