大部分编程语言对于大括号的位置并没有硬性要求,C语言自由的特性,被很多编程语言所借用。
- C/ObjC/C++/Java/C#/Rust/Swift/JS/仓颉语言的语法角度,没有硬性要求大括号一定要和前后语句同行或换行,自由即可。
- VB/Python语法通常并不依赖大括号,而是换行和缩进。类似的,Python字典类型初始化所需要的大括号依然很自由,不限定和初始化变量一定同行或换行。
- Go语言有要求if/while/for语句大括号需要在if/while/for同行,不能在新行。
同样,结构体初始化语句有包含大括号{}, {一定需要和初始化变量同行,但不要求}和初始值同行。
例如:
p := Person {
name : "Bob"
}
但如下是非法的:
p := Person
{
name : "Bob"
}
