Looking for rust Answers? Try Ask4KnowledgeBase
Looking for rust Keywords? Try Ask4Keywords

RustLa coincidencia de patrones


Sintaxis

  • _ // patrón de comodín, coincide con cualquier cosa¹
  • ident // patrón de unión, coincide con cualquier cosa y lo une a ident
  • ident @ pat // igual que arriba, pero permite que coincida aún más con lo que está enlazado
  • ref ident // patrón de encuadernación, coincide con cualquier cosa y lo enlaza con un ident de referencia ¹
  • ref mut ident // patrón de unión, coincide con cualquier cosa y lo une a una referencia de mutable ident ¹
  • & pat // coincide con una referencia ( pat no es, por lo tanto, una referencia, sino el árbitro)
  • & mut pat // igual que el anterior con una referencia mutable¹
  • CONST // coincide con una constante nombrada
  • Struct { field1 , field2 } // coincide y deconstruye un valor de estructura, vea más abajo la nota sobre campos¹
  • EnumVariant // coincide con una variante de enumeración
  • EnumVariant ( pat1 , pat2 ) // coincide con una variante de enumeración y los parámetros correspondientes
  • EnumVariant ( pat1 , pat2 , .., patn ) // igual que el anterior, pero omite todos los parámetros menos el primero, el segundo y el último
  • ( pat1 , pat2 ) // coincide con una tupla y los elementos correspondientes¹
  • ( pat1 , pat2 , .., patn ) // igual que arriba pero salta todos los elementos menos el primero, el segundo y el último¹
  • encendido // coincide con una constante literal (char, tipos numéricos, booleano y cadena)
  • pat1 ... pat2 // coincide con un valor en ese rango (inclusive) (tipos de caracteres y numéricos)

Observaciones

Al deconstruir un valor de estructura, el campo debe tener el formato field_name o field_name : pattern . Si no se especifica ningún patrón, se realiza un enlace implícito:

let Point { x, y } = p;
// equivalent to
let Point { x: x, y: y } = p;

let Point { ref x, ref y } = p;
// equivalent to
let Point { x: ref x, y: ref y } = p;

1: patrón irrefutable

La coincidencia de patrones Ejemplos relacionados