```
import (
"fmt"
"
gorm.io/driver/mysql"
"
gorm.io/gorm"
)
type User struct {
gorm.Model
Name string
Age int
}
func main() {
dsn := "root:123456@tcp(127.0.0.1:3306)/go_mysql?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
db.AutoMigrate(&User{})
// 使用引用对象
userRef := &User{Name: "John", Age: 25}
resultRef := db.Create(userRef)
fmt.Printf("Reference Object: %+v\n", userRef)
fmt.Printf("RowsAffected: %d\n", resultRef.RowsAffected)
// 使用值对象
userVal := User{Name: "Jane", Age: 30}
resultVal := db.Create(&userVal)
fmt.Printf("Value Object: %+v\n", userVal)
fmt.Printf("RowsAffected: %d\n", resultVal.RowsAffected)
}
Reference Object: &{Model:{ID:1 CreatedAt:2023-11-24 22:50:17.388 +0800 CST UpdatedAt:2023-11-24 22:50:17.388 +0800 CST DeletedAt:{Time:0001-01-01 00:00:00 +0000 UTC Valid:false}} Name:John Age:25}
RowsAffected: 1
Value Object: {Model:{ID:2 CreatedAt:2023-11-24 22:50:17.401 +0800 CST UpdatedAt:2023-11-24 22:50:17.401 +0800 CST DeletedAt:{Time:0001-01-01 00:00:00 +0000 UTC Valid:false}} Name:Jane Age:30}
RowsAffected: 1
```