1. 程式人生 > >Go語言生成物件陣列-InterfaceBuilder

Go語言生成物件陣列-InterfaceBuilder

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