Rust – Rebanadas

Slice es un tipo de datos que no tiene propiedad. Slice hace referencia a una asignación de memoria contigua en lugar de a toda la colección. Los cortes también están presentes en Python, que es similar al corte aquí en Rust. Slice se usa cuando no desea la colección completa, o desea una parte de ella. 

Puntos clave de corte:

  • Al cortar, el primer elemento está en el índice 0 y el último es el índice-1.
//gfg is String or Array
&gfg[0..2]  //from 0 to 1 index
&gfg[0..3]  //from 0 to 2 index
  • Si desea comenzar desde 0, no necesita pasar 0.
//gfg is String or Array
&gfg[..2] //from 0 to 1 index
&gfg[..3] //from 0 to 3 index
  • Si desea ir al final de String o Array, primero calcule la longitud y luego pásela.
//gfg is String or Array
//calculate length using len() method
length_of_string=gfg.len();
//from 0 to last index
&gfg[..lenght_of_string] 
//from 4th element or index=3 to last index
&gfg[3..length_of_string]

Enfoque del ejemplo 1:

  • Para el primer carácter comenzaremos desde &gfg[0..1] (0,1).
  • Para los primeros tres caracteres usaremos &gfg[..3] o &gfg[0..3].
  • Para empezar de 0 a x &gfg[..x] o &gfg[0..x] .
  • Para comenzar desde 0 hasta la longitud de la string, para esto necesitamos calcular la longitud primero usando el método len() de lo que podemos usar &gfg[..x] o &gfg[0..length_of_string] .
  • Para comenzar desde x hasta una longitud superior a &gfg[x..length_of_string].

Ejemplo 1: corte de cuerda en Rust

Rust

// Rust program for slicing of String
fn main() {
    
      // String
    let gfg = "GFG is a great start to start coding and improve".to_string();
    
    // for first character
    println!("first character ={}",&gfg[0..1] );
    
      // for first three characters
    println!("first three character ={}",&gfg[..3] );
  
      // calculating length of String
    let length_of_string=gfg.len();
    
      let x=5;
    
    // start from first to last character
    println!("start from 0 to x ={}",&gfg[..x] );
    
      // start from x to last character
    println!("start from x to end ={}",&gfg[x..length_of_string]);
    
      // start from first to last character
    println!("from start to last ={}",&gfg[..length_of_string])
}

Producción :

first character =G
first three character =GFG
start from 0 to x =GFG i
start from x to end =s a great start to start coding and improve
from start to last =GFG is a great start to start coding and improve

Enfoque del ejemplo 2:

  • Para el primer valor en la array, comenzaremos desde &gfg[0..1] (0,1).
  • Para los primeros tres valores en la array, usaremos &gfg[..3] o &gfg[0..3] .
  • Para empezar de 0 a x &gfg[..x] o &gfg[0..x] .
  • Para comenzar desde 0 hasta la longitud de la array, para esto necesitamos calcular la longitud primero usando el método len() de lo que podemos usar &gfg[..length_of_array] o &gfg[0..length_of_array] .
  • Para comenzar desde x hasta la longitud de la array   &gfg[x..length_of_array] .

Ejemplo 2: dividir la array

Rust

// Rust program for slicing Array
fn main() {
    
    let gfg = [10, 22, 31, 43, 57];
    let length_of_array=gfg.len();
    let x=2;
    
      // for first value
    println!("for first= {:?}",&gfg[0..1]);
    
      // for first three value
    println!("for first three= {:?}",&gfg[0..3]);
    
      // for first to last(or length)
    println!("for 0 to length of the array= {:?}",&gfg[0..length_of_array] );
   
    println!("{:?}",&gfg[x..length_of_array]);
}

Producción :

for first= [10]
for first three= [10, 22, 31]
for 0 to length of the array= [10, 22, 31, 43, 57]
[31, 43, 57]

Publicación traducida automáticamente

Artículo escrito por rajatagrawal5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *