go r.GET("/", index)报错,代码贴出来了,什么原因?

请输入代码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

阅读 2.5k
2 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题