Go语言生成对象数组-InterfaceBuilder

1.安装

go get -u github.com/timespacegroup/go-utils
import (
    "github.com/timespacegroup/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/timespacegroup/go-utils
https://github.com/timespacegroup/go-utils/blob/master/interface_builder.go
https://github.com/timespacegroup/go-mysql-utils
https://github.com/timespacegroup/go-mysql-utils/blob/master/mysql_test_assist.go

猜你喜欢

转载自blog.csdn.net/typa01_kk/article/details/80143565