gin-gonic / gin

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
https://gin-gonic.com/
MIT License
77.95k stars 7.97k forks source link

Strange, the router is not registered #4008

Open RedCrazyGhost opened 2 months ago

RedCrazyGhost commented 2 months ago

Description

The gin code doesn't work, the router isn't registered and printed, and it doesn't panic

How to reproduce

package main

import (
    "net/http"

    "github.com/gin-gonic/gin"
)

func main(){
    r := gin.Default()

    r.GET("/", func(c *gin.Context) {
        c.String(http.StatusOK,"i'm ok!")
    })

    if err := r.Run(":8080");err != nil{
        panic(err)
    }
}

Expectations

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

output router context...

Actual result

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

Environment

RedCrazyGhost commented 2 months ago

I tried using the new version of go and was able to start the service successfully

use go version go1.22.5 darwin/amd64 output:

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /                         --> main.main.func1 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on :8080
1911860538 commented 2 months ago

I can't reproduce this issue on the conditions you provided

RedCrazyGhost commented 2 months ago

Indeed, this is a very strange question