0
请输入代码package main

import (
 // "fmt"
 "log"

 "github.com/gin-gonic/gin"
 "github.com/jinzhu/gorm"
 _ "github.com/jinzhu/gorm/dialects/mysql"
)

var db *gorm.DB
var err error

// User model
type User struct {
 ID    uint   `json:"id"`
 Name  string `json:"name"`
 Email string `json:"email"`
}
func main() {

 db, err := gorm.Open("mysql", "root:123321@/gorm3?charset=utf8&parseTime=True&loc=Local")
 if err != nil {
  log.Fatal("db connect error")
 }
 log.Println("db", db)
 defer db.Close()
 db.AutoMigrate(&User{})

 r := gin.Default()
 r.GET("/user",test)
 r.GET("/", index)
 r.Run(":8089")

}
func test(c *gin.Context){
 c.JSON(200, gin.H{
  "message": "pong",
 })

}

func index(c *gin.Context) {
  var users []User
  if err := db.Find(&users).Error; err != nil {
   c.AbortWithStatus(404)
   log.Println("err",err)
  } else {
   c.JSON(200, users)
  }

}

报错信息如下:

clipboard.png

大boss 103
2019-06-17 提问
2 个回答
1

已采纳

代码中的这一句不要用冒号,直接等就可以了。

 db, err = gorm.Open("mysql", "root:123321@/gorm3?charset=utf8&parseTime=True&loc=Local")
1

var db *gorm.DB
var err error
这个地方已经声明过了,不能再用:= 给这两个变量赋值了。

撰写答案

推广链接