Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "errors"
- "fmt"
- "github.com/jmoiron/sqlx"
- _ "github.com/lib/pq"
- "github.com/ompluscator/dynamic-struct"
- "log"
- )
- var list map[string]map[string]interface{}
- func MakeStruct(name string) (error, interface{}) {
- structure, ok := list[name]
- if !ok {
- return errors.New("Нет такой структуры"), nil
- }
- instance := dynamicstruct.NewStruct()
- for key, value := range structure {
- instance.AddField(key, value, "")
- }
- return nil, instance.Build().New()
- }
- func main() {
- db, err := sqlx.Connect("postgres", "user=postgres dbname=project sslmode=disable")
- if err != nil {
- log.Fatalln(err)
- }
- list = make(map[string]map[string]interface{})
- list = map[string]map[string]interface{}{
- "Test": map[string]interface{}{
- "Id" : 0,
- "Name" : "",
- "Number" : 0,
- },
- "Test1": map[string]interface{}{
- "Id" : 0,
- "Address" : "",
- "Phone" : "",
- },
- }
- err, test := MakeStruct("Test")
- if err != nil {
- panic(err)
- }
- stmt, err := db.Preparex(`SELECT * FROM test WHERE id=$1`)
- //var p Test1
- err = stmt.Get(test, 1)
- fmt.Println(test, err)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement