如何在golang函数中返回struct duitonary

时间:2019-05-01 05:26:38

标签: excel go

我需要从函数中重新运行struct duntonary,当它运行脚本时,我无法使用返回参数中的res(type [] exceldata类型)作为[] struct {}类型

我已经在go脚本中创建了struct,并向其中添加了值并添加到数组中,现在我需要将其返回到主要功能


package main

import (
    "fmt"
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
    "github.com/360EntSecGroup-Skylar/excelize"
    "log"

)


type exceldata struct {
    username string
    rfid  string
    user string
}

func read() []struct{} {
    exdata := exceldata{}
    res := []exceldata{}
    f, err := excelize.OpenFile("./required_details.xlsx")
    if err != nil {
        fmt.Println(err)
        return res
    }

    // Get value from cell by given worksheet name and axis.
    /*cell, err := f.GetCellValue("Sheet1", "A566")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(cell)*/

     // Get all the rows in the Sheet1.
    rows, err := f.GetRows("Sheet1")

    for _, row := range rows {
        if row[0] != "eof"{

            exdata.username = row[0]
            exdata.rfid = row[1]
            exdata.user = row[2]
            res = append(res, exdata)
            fmt.Println(res)

        }else{
                return res
        }
    }
    return res;

}

func main() {

    fmt.Println("Go MySQL Tutorial")
    resexceldata := []exceldata{}
    resexceldata =read() 
    fmt.Println("Routes are Loded.")

}

1 个答案:

答案 0 :(得分:0)

您已经将exceldata定义为类型,因此您应该使用该类型:

type exceldata struct
...


func read() []exceldata {
...
}