参考にしたというqiitaの記事が提示されてないし、qiitaでコメントして質問された方が良いです。
Qitaを参考に参考にしながら、下記のコードを書きました。
package main import ( "fmt" "log" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) //User is struct type User struct { gorm.Model Name string `gorm:"size:255"` Age int Sex string `gorm:"size:255"` } func (u User) String() string { return fmt.Sprintf("%s(%d)", u.Name, u.Age) } const ( Dialect = "mysql" DBUser = "user1" DBPass = "Password_01" DBProtocol = "tcp(127.0.0.1:3306)" DBName = "go_sample" ) func connectGorm() *gorm.DB { connectTemplate := "%s:%s@%s/%s?parseTime=true" connect := fmt.Sprintf(connectTemplate, DBUser, DBPass, DBProtocol, DBName) //fmt.Println(connect) db, err := gorm.Open(Dialect, connect) if err != nil { log.Println(err.Error()) } return db } func Insert(users []User, db *gorm.DB) { for _, user := range users { db.NewRecord(user) db.Create(&user) } } func FindAll(db *gorm.DB) []User { var allUsers []User db.Find(&allUsers) return allUsers } func main() { db := connectGorm() defer db.Close() db.Set("gorm:table_options", "ENGINE = InnoDB").AutoMigrate(&User{}) user1 := User{Name: "A", Age: 20, Sex: "男"} user2 := User{Name: "B", Age: 30, Sex: "女"} user3 := User{Name: "C", Age: 40, Sex: "男"} InsertUsers := []User{user1, user2, user3} Insert(InsertUsers, db) }
テーブルを作成後,selectするために、
func main(){ ..... ..... users := []User{} fmt.Println(db.Find(&users))
を実行したのですが、出力された内容が次のようになりました。
調べたのですが、同じような方がいないので質問しました。
何が、いけないのでしょうか?