VStack 如何获取闭包内的 View 元素?

How does the VStack gets the View elements inside the closure?

我是 swift 和 swiftUi 的新手,我想知道 VStack(或 Hstack、ZStack 等...)如何捕获视图元素在闭包里面?

例如,VStack 如何知道并获取两个 Text 元素,即使闭包没有 return 任何东西?

       VStack {
            Text("Hello, world!")
                .padding()
            Text("Hello, world!")
                .padding()
        }

此外,我想知道我是否可以模仿这种行为并实现一个具有相同功能的结构?

传给VStack的闭包是一种特殊的闭包,标有@ViewBuilder

ViewBuilder 是一个自定义参数属性,它从闭包构造视图。您可以创建自己的 ViewBuilder,如 ViewBuilder documentation.

的示例所示