Go語言生成物件陣列-InterfaceBuilder
阿新 • • 發佈:2019-02-11
1.安裝
go get -u github.com/typa01/go-utils
import (
"github.com/typa01/go-utils"
)
使用,例:fieldNames := tsgutils.NewInterfaceBuilder()
2.使用
var s1 string = "Abc" var i1 int = 123 var f1 float64 = 123.40 builder1 := NewInterfaceBuilder() builder1.Append(s1).Append(i1).Append(f1) fmt.Println(builder1.ToInterfaces()) builder2 := builder1.Clear() builder2.Appends(s1, i1, f1) fmt.Println(builder2.ToInterfaces())
結果:
[Abc 123 123.4]
[Abc 123 123.4]
2.資料庫Query查詢結果封裝
var users []User builder := tsgutils.NewInterfaceBuilder() for rows.Next() { builder.Clear() builder.Append(&user.Host).Append(&user.User) builder.Append(&user.AuthenticationString) err := rows.Scan(builder.ToInterfaces()...) tsgutils.CheckAndPrintError("MySQL query rows scan error", err) users = append(users, *user) }
3.GitHub原始碼地址
https://github.com/typa01/go-utils
https://github.com/typa01/go-utils/blob/master/interface_builder.go
https://github.com/typa01/go-mysql-utils
https://github.com/typa01/go-mysql-utils/blob/master/mysql_test_assist.go