挑戰:
許多程式設計任務需要擷取行將資料庫表中的資料轉換為結構化格式。在 Go 中,database/sql 套件提供了 Rows 實例來迭代表行。然而,Rows 的 Scan 方法需要指向已知類型的目標變數的指針,當事先未知列的數量和類型時,這可能具有挑戰性。
解:
要將Rows 實例中的列讀入[]string,可以使用以下方法:
範例:
package main import ( "fmt" "io" "database/sql" ) func dumpTable(rows *sql.Rows, out io.Writer) error { colNames, err := rows.Columns() if err != nil { return err } writer := csv.NewWriter(out) writer.Comma = '\t' readCols := make([]interface{}, len(colNames)) writeCols := make([]string, len(colNames)) for i, _ := range writeCols { readCols[i] = &writeCols[i] } for rows.Next() { err := rows.Scan(readCols...) if err != nil { return err } writer.Write(writeCols) } if err = rows.Err(); err != nil { return err } writer.Flush() return nil }
範例:
此程式碼允許您從Rows實例中讀取列並將其轉換為 [] 字串以進行進一步處理.以上是如何將 Go SQL 行實例中的列值提取到 [] 字串中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!