我发现使用(1..4)
fn main() {
for v in (1..4) {
println!("{}", v);
}
}
和{1..4}
fn main() {
for v in {1..4} {
println!("{}", v);
}
}
得到同样的结果."(1..4)
"和"{1..4}
"迭代之间有什么不同的语义吗?
我发现使用(1..4)
fn main() {
for v in (1..4) {
println!("{}", v);
}
}
和{1..4}
fn main() {
for v in {1..4} {
println!("{}", v);
}
}
得到同样的结果."(1..4)
"和"{1..4}
"迭代之间有什么不同的语义吗?
它们产生相同的迭代器.甚至可以省略括号/大括号:
fn main() {
for v in 1..4 {
println!("{}", v);
}
}
一般来说,表达式可以用()
或{}
括起来.不过有一点不同:{}
创建一个块,您可以在其中写入语句(比如let
).表达式的解析方式也有细微的差别.Edit:我找到了a blog article that describes another difference in how coercion and borrowck works个.
如果你不需要陈述,通常()
是首选.