编辑代码



fn main() {
   
    // assert_eq!( 10_i8 as u16, 10_u16); // 范围内转换

    // let s = 10_i64;
    // println!("{}",s);

    // println!("{}",(-4_i32).abs());


    // let t = ("Brazil", 1985);

    // println!("{}",t.0);


    // let text = "I see the eigenvalue in thine eye";
    // let (head, _tail) = text.split_at(1);

    // println!("{}",head);
    
// let lazy_caterer: [u32; 6] = [1, 2, 4, 7, 11, 16]; 
// let taxonomy = ["Animalia", "Arthropoda", "Insecta"]; 
// assert_eq!(lazy_caterer[3], 7); 
// assert_eq!(taxonomy.len(), 3);

let mut pal: Vec<String>= Vec::new(); 
pal.push("step".to_string()); 
pal.push("on".to_string()); 
// pal.push("no".to_string()); 
// pal.push("pets".to_string());
// pal.push("pets".to_string()); 


pal.reverse();
println!("{}",pal.len());
println!("{}",pal.capacity());

//注:capacity方法返回值会随着vec中元素数量变化而变化

println!("{:?}",pal);

for l in &pal {
    println!("数据项:{}",l);
} 


let s = pal.pop();
// println!("{}",s[0]);


fn p(s:String){
    println!("值为:{}",s);
}



match s {
    Some(ref x) if x == "step" => p("step".to_string()),
    Some(_) => println!("其他值"),
    None => println!("无值"),
}



let v: Vec<f64> = vec![0.0,  0.707,  1.0,  0.707]; 
let a: [f64; 4] =     [0.0, -0.707, -1.0, -0.707]; 
// let sv: &[f64] = &v; 
// let sa: &[f64] = &a;
let sv = &v; 
let sa = &a;

fn printFun(n: &[f64]) { 
    for elt in n { 
        println!("{}", elt); 
    } 
} 

printFun(&v[0..2]);

printFun(sv);
printFun(sa);

}