我可以像这样声明多个常量:
let (a, b, c) = (1, 0.0, 3);
Run Code Online (Sandbox Code Playgroud)
但为什么我不能用可变变量做这个呢?
let mut (a, b, c) = (1, 0.0, 3); 抛出编译错误:
error: expected identifier, found `(`
--> <anon>:2:13
2 |> let mut (a, b, c) = (1, 0.0, 3);
|> ^
Run Code Online (Sandbox Code Playgroud)
She*_*ter 26
正确的语法是
let (mut a, mut b, mut c) = (1, 0.0, 3);
Run Code Online (Sandbox Code Playgroud)
可变性是绑定的属性,并且a,b并且c都是不同的绑定,每个绑定在模式匹配后绑定到元组的特定元素.因此,它们可以单独制成可变的.
如果您想指定类型,您也可以这样做:
let (mut a, mut b, mut c): (u8, f32, i32) = (1, 0.0, 3);
Run Code Online (Sandbox Code Playgroud)
对于数字文字,您还可以使用后缀形式:
let (mut a, mut b, mut c) = (1u8, 0.0f32, 3i32);
Run Code Online (Sandbox Code Playgroud)
当然,没有理由为示例代码执行此操作; 只有3个单独的语句就简单得多了.
声明多个常量
这些不是常量,它们只是不可变的变量.A const是一个不同的概念.
| 归档时间: |
|
| 查看次数: |
1859 次 |
| 最近记录: |