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);
}