Go:处理程序因错误而崩溃反映:使用太少的输入参数调用

问题描述

背景是我想用一个控制器实现一个集合,有并、交、减三个功能
语言是go,框架是beego

在 controller.go 中,我编写了一个函数来接收来自 POST 的两个字符串:

func (c * SetController) Post(){
    Slice1 := c.GetString("Slice1)  
    Slice2 := c.GetString("Slice2)
}

然后我写了一个函数来得到联合集的答案:

func (c *SetController) Union(Slice1 string,Slice2 string) {
    var temp1 []string = strings.Split(Slice1,",")
    var temp2 []string = strings.Split(Slice2,")
    myslice1 := make([]int,0)
    for x,_ := range temp1 {
        myslice1 = append(myslice1,x)
    }
    myslice2 := make([]int,_ := range temp2 {
        myslice2 = append(myslice2,x)
    }
    UnionAnswer := union(myslice1,myslice2)
    c.Data["UnionAnswer"] = UnionAnswer
    c.TplName = "index.tpl"
}

但是在我上传数据之后:

curl -X POST "http://localhost:8080/?Slice1=1,3,5,6&Slice2=2,4,6"

并得到工会的答复:

curl -X GET "http://localhost:8080/getUnion"

它返回一个错误

2021/07/26 17:39:09.722 [C] [config.go:191] 处理程序崩溃,错误反映:输入参数太少调用

2021/07/26 17:39:09.722 [C] [config.go:197] /usr/local/go/src/runtime/panic.go:965

2021/07/26 17:39:09.722 [C] [config.go:197] /usr/local/go/src/reflect/value.go:393

2021/07/26 17:39:09.722 [C] [config.go:197] /usr/local/go/src/reflect/value.go:337

2021/07/26 17:39:09.722 [C] [config.go:197] /Users/10020662/go/pkg/mod/github.com/beego/beego/v2@v2.0.1/server/ web/router.go:883

2021/07/26 17:39:09.723 [C] [config.go:197] /Users/10020662/go/pkg/mod/github.com/beego/beego/v2@v2.0.1/server/ web/filter.go:81

2021/07/26 17:39:09.723 [C] [config.go:197] /Users/10020662/go/pkg/mod/github.com/beego/beego/v2@v2.0.1/server/ web/router.go:664

2021/07/26 17:39:09.723 [C] [config.go:197] /usr/local/go/src/net/http/server.go:2887

2021/07/26 17:39:09.723 [C] [config.go:197] /usr/local/go/src/net/http/server.go:1952

2021/07/26 17:39:09.723 [C] [config.go:197] /usr/local/go/src/runtime/asm_amd64.s:1371

我想知道为什么以及如何调试。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)