`gin-gonic` 文档中的语法问题

Syntax question from `gin-gonic` documentation

多年来我一直在 Node/Python 开发,在假期里我一直在努力扩展我对 Go 的了解。我有一个宠物项目,我一直在努力学习它。

由于我一直在阅读 gin-gonic documentation,我发现我无法理解的语法。

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

    // Simple group: v1
    v1 := router.Group("/v1")
    {
        v1.POST("/login", loginEndpoint)
        v1.POST("/submit", submitEndpoint)
        v1.POST("/read", readEndpoint)
    }

    // Simple group: v2
    v2 := router.Group("/v2")
    {
        v2.POST("/login", loginEndpoint)
        v2.POST("/submit", submitEndpoint)
        v2.POST("/read", readEndpoint)
    }

    router.Run(":8080")
}

基本上,router.Group() 方法看起来采用结构,但我不太确定这里的机制是什么...它没有包含在括号中。 Group 方法如何传递此对象 in/handled?

The Go Programming Language Specification

Blocks

A block is a possibly empty sequence of declarations and statements within matching brace brackets.

Declarations and scope

Go is lexically scoped using blocks.


例如v1.POST方法调用语句组成一个块:

// Simple group: v1
v1 := router.Group("/v1")
{
    v1.POST("/login", loginEndpoint)
    v1.POST("/submit", submitEndpoint)
    v1.POST("/read", readEndpoint)
}

这是块的不寻常用法。