package main
import (
"log"
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
//先把欄位的值都當成字串
func Rows2SliceMap(rows *sql.Rows) (list []map[string]string) {
//欄位名稱
columns, _ := rows.Columns()
//多少個欄位
length := len(columns)
//每一行欄位的值
values := make([]sql.RawBytes, length)
//儲存的是values的記憶體地址
pointer := make([]interface{}, length)
//
for i := 0; i < length; i++ {
pointer[i] = &values[i]
}
//
for rows.Next() {
//把引數展開,把每一行的值存到指定的記憶體地址去,迴圈覆蓋,values也就跟著被賦值了
rows.Scan(pointer...)
//每一行
row := make(map[string]string)
for i := 0; i < length; i++ {
row[columns[i]] = string(values[i])
}
list = append(list, row)
}
//
return
}
func main() {
db, err := sql.Open("mysql", "root:1234@tcp(192.168.99.165:3306)/test?charset=utf8")
if err != nil {
log.Println(err.Error())
}
err = db.Ping()
if err != nil {
log.Println(err.Error())
}
rows, _ := db.Query("select * from cms")
defer rows.Close()
list := Rows2SliceMap(rows)
for k, v := range list {
fmt.Println(k)
fmt.Println(v["id"], v["name"], v["sex"], v["age"])
}
}
go語言將表資料動態轉成切片(欄位任意擴充)
相關文章
- 不改表結構如何動態擴充套件欄位套件
- Go 語言切片是如何擴容的?Go
- go 語言切片Go
- 將表結構轉換成實體欄位
- Go語言————7.2 切片Go
- go語言使用切片實現線性表Go
- Mybatis框架:foreach迴圈遍歷欄位(為了解決動態表、動態欄位查詢資料)MyBatis框架
- 使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位套件UI
- GO語言學習——切片二Go
- go語言資料型別轉換Go資料型別
- 【小知識】程式碼優化-動態新增大量擴充套件欄位優化套件
- Go語言————7.4 切片重組(reslice)Go
- Go語言實現十進位制轉換成二、八、十六進位制Go
- SAP CRM和Cloud for Customer的擴充套件欄位後設資料Cloud套件
- 玩轉 Go 生態|Hertz WebSocket 擴充套件簡析GoWeb套件
- hive將查詢資料插入表中某欄位無資料Hive
- GO語言————8.4 map 型別的切片Go型別
- go語言學習-陣列-切片-mapGo陣列
- DcatAdmin 擴充套件: 自定義表單(動態表單)套件
- 怎麼取的擴充套件模型裡表裡的欄位啊套件模型
- 資料結構–進位制(任意)轉換資料結構
- 位運算-設計資料庫表的多選狀態欄位資料庫
- GO語言————7.5 切片的複製與追加Go
- Go 語言基礎 陣列、切片、對映Go陣列
- Go語言系列(三)之陣列和切片Go陣列
- hibernate跨資料庫,json欄位處理方案,自定義擴充套件JsonStringType資料庫JSON套件
- C語言將資料表輸出到終端C語言
- Cilium 1.3:支援Envoy、Cassandra和Memcached的Go語言擴充套件Go套件
- 【Go 語言入門專欄】Go 語言的起源與發展Go
- 查詢資料庫表及表欄位資料庫
- [外掛擴充套件]多圖上傳欄位擴充套件MultiImages0.4套件
- go語言——資料型別Go資料型別
- 《快學 Go 語言》第 5 課 —— 神奇的切片Go
- Go語言切片面試真題7連問Go面試
- MoE 系列(三)|使用 Istio 動態更新 Go 擴充套件配置Go套件
- 兄弟連go教程(19)資料 - 匿名欄位Go
- Go語言將支援AndroidGoAndroid
- django 2.0 擴充套件使用者欄位 示例Django套件