2016-06-27 33 views
8

mogę zadeklarować wielu stałych tak:Jak zadeklarować wiele zmienne zmienne w tym samym czasie?

let (a, b, c) = (1, 0.0, 3); 

Ale dlaczego nie można zrobić to z modyfikowalnych zmiennych?

let mut (a, b, c) = (1, 0.0, 3); wyrzuca błąd kompilacji:

error: expected identifier, found `(` 
--> <anon>:2:13 
2 |>  let mut (a, b, c) = (1, 0.0, 3); 
    |>   ^

Odpowiedz

17

Prawidłowa składnia jest

let (mut a, mut b, mut c) = (1, 0.0, 3); 

zmienność jest właściwością wiązania i a, b, a c są różne powiązania, każdy związany do określonego elementu krotki po dopasowaniu wzorca. Dzięki temu można je indywidualnie modyfikować.

Jeśli chcesz określić typ, można to zrobić za:

let (mut a, mut b, mut c): (u8, f32, i32) = (1, 0.0, 3); 

Dla literałów liczbowych, można również skorzystać z formularza przyrostek:

let (mut a, mut b, mut c) = (1u8, 0.0f32, 3i32); 

oczywiście, nie ma powodu, zrobić to dla przykładowego kodu; znacznie łatwiej jest mieć 3 oddzielne instrukcje.

declare multiple constants

Nie są to stałe, są po prostu zmiennymi niezmiennymi. A const to inna koncepcja.

+0

Głupia, przestałem próbować, dzięki! – KDN

Powiązane problemy