Golang括号语法解释

And*_*rey 3 go

我无法弄清楚这些括号在这段代码中的作用:

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

    v1 := router.Group("/v1")
    { // <- these brackets
        v1.POST("/login", loginEndpoint)
        v1.POST("/submit", submitEndpoint)
        v1.POST("/read", readEndpoint)
    } // <- and these

    v2 := router.Group("/v2")
    { // <- and these
        v2.POST("/login", loginEndpoint)
        v2.POST("/submit", submitEndpoint)
        v2.POST("/read", readEndpoint)
    } // <- and these

    router.Run(":8080")
}
Run Code Online (Sandbox Code Playgroud)

从这里获取此代码: https: //github.com/gin-gonic/gin#grouping-routes 你能解释一下吗?

Von*_*onC 5

由于词法范围(如注释)不影响任何内容,因此这里更像是一种“编码风格”,如gin-gonic/gin问题 108中所述

我个人喜欢使用括号,因为它给人一种集体感,并且使路线更容易阅读

// notify the "test" variable
test := r.Group("/", TestHandle())
{
    test.GET("/test", func(c *gin.Context) {
        fmt.Printf("test")
        c.String(200, "ok")
    })
}
Run Code Online (Sandbox Code Playgroud)

  • 从我个人的角度来看,这种类型的范围界定使代码更加笨拙。但无论如何,了解这一点很有趣。 (2认同)