登录
首页 >  Golang >  Go问答

报错:too many arguments to return

来源:SegmentFault

时间:2023-02-17 13:53:18 434浏览 收藏

本篇文章给大家分享《报错:too many arguments to return》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

func readTxt(data *PostData, filename string) {
    var i int = 0
    f, err := os.Open(filename) //打开文件
    defer f.Close()             //打开文件出错处理
    //var a [15]float64
    if nil == err {
        buff := bufio.NewReader(f) //读入缓存
        for {
            line, err := buff.ReadString('\n') 
            if err != nil || io.EOF == err {
                break
            }
            line = strings.Replace(line, "+", " ", -1)
            //对一行进行处理
            if _, err = fmt.Sscanf(line, "$%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f;",
                &data.Data.ObjId, &data.Data.GpsData[i].Longitude, &data.Data.GpsData[i].Latitude,
                &data.Data.GpsData[i].Speed, &data.Data.GpsData[i].Bearing, &data.Data.HRData[i].HeartRate,
                &data.Data.TimeData[i].Year, &data.Data.TimeData[i].Month, &data.Data.TimeData[i].Day,
                &data.Data.TimeData[i].Hour, &data.Data.TimeData[i].Min, &data.Data.TimeData[i].Sec,
                &data.Data.AccData[i].XAcc, &data.Data.AccData[i].YAcc, &data.Data.AccData[i].ZAcc); err != nil {
                return nil, fmt.Errorf("invalid")
            }
            i++
            //fmt.Println(data)
        }
    }
}

正确答案

 return nil, fmt.Errorf("invalid")

改成

 return

该函数不需要返回值,数据已经写入data 里了。

今天关于《报错:too many arguments to return》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>