我在Objective-C中写了几个程序 我已经看到Swift语法不需要使用分号。
我的问题是 - 无论如何使用它们还有技术要点吗?
答案 0 :(得分:4)
简短的回答是:否。
Swift在代码中的每个语句后都不需要分号。只有当您希望在一行中组合多个语句时才需要它们。
不要在用分号分隔的单行上写多个语句。
<强>优选:强>
var swift = "not a scripting language"
不首选:
var swift = "not a scripting language";
有关更多信息,请参阅此页:
https://github.com/raywenderlich/swift-style-guide#semicolons
答案 1 :(得分:1)
在某些情况下(或曾经是)编译器会将两条不同行上的两条单独的语句视为一条语句。典型的位置是return
,后跟另一个您不想执行的语句。在那种情况下,仅在那种情况下,分号至关重要。
override func viewDidLoad() {
super.viewDidLoad()
return // need semicolon here
print(1) // oops
}
但是,在现代Swift中,编译器会发出警告并进行补偿。添加分号(return;
)会使警告静音(尽管随后会导致不同的警告)。
否则,分号永远不会有任何技术优势。