golang函数返回问题

func SelectData(ipaddr string, uid string, pass string, database string, selectStr string)(?) {
    //连接数据库
    conn, err := sql.Open("odbc", "driver={SQL Server};SERVER="+ipaddr+";UID="+uid+";PWD="+pass+";DATABASE="+database)
    defer conn.Close()
    rows, err := conn.Query(selectStr)
    CheckError(err)
    defer rows.Close()
    columns, err := rows.Columns()

    values := make([]sql.RawBytes, len(columns))
    scans := make([]interface{}, len(columns))

    for i := range values {
        scans[i] = &values[i]
    }

    var result []map[string]string
    for rows.Next() {
        _ = rows.Scan(scans...)
        each := make(map[string]string)

        for i, col := range values {
            each[columns[i]] = string(col)
        }
        result = append(result, each)
    }
    return result
}
func CheckError(err error) {
    if err != nil {
        fmt.Println(err)
    }
}

这个是查询不定长数据,返回值是result,现在不知道在返回什么类型在(?)处,求大神指导!

阅读 4.8k
2 个回答

用interface{}返回

你都定义了var result []map[string]string
然后return result
那返回的当然就是就result的类型了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题