Группирующие выражения
Syntax
GroupedExpression → ( Expression )
Выражение в скобках оборачивает одиночное выражение, вычисляясь в это выражение.
Синтаксис выражения в скобках: (, затем выражение, называемое включенным операндом, и затем ).
Выражения в скобках вычисляются в значение включенного операнда.
В отличие от других выражений, выражения в скобках являются одновременно выражениями-местами и выражениями-значениями. Когда включенный операнд является выражением-местом, оно является выражением-местом, и когда включенный операнд является выражением-значением, оно является выражением-значением.
Скобки могут быть использованы для явного изменения порядка приоритета подвыражений внутри выражения.
Пример выражения в скобках:
#![allow(unused)] fn main() { let x: i32 = 2 + 3 * 4; // без скобок let y: i32 = (2 + 3) * 4; // в скобках assert_eq!(x, 14); assert_eq!(y, 20); }
Пример необходимого использования скобок - вызов указателя на функцию, который является членом структуры:
#![allow(unused)] fn main() { struct A { f: fn() -> &'static str } impl A { fn f(&self) -> &'static str { "Метод f" } } let a = A{f: || "Поле f"}; assert_eq!( a.f (), "Метод f"); assert_eq!((a.f)(), "Поле f"); }