golang - 报错:too many arguments to return

查看:2481
本文介绍了golang - 报错:too many arguments to return的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


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 里了。

这篇关于golang - 报错:too many arguments to return的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆