首页 > 报错:too many arguments to return

报错: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)
        }
    }
}

func readTxt(data *PostData, filename string) (string, string) {


 return nil, fmt.Errorf("invalid")

改成

 return

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


return被if控制住了,else里也要有return吧。。反正就是肯定要把return运行到就是。。。

go里,函数有返回值则必须声明,而有返回值的函数就必须返回。。。go可是强类型语言啊。。。

【热门文章】
【热门文章】