pub fn main(){
let mut v = "hello".into();
let a :&String = &v;
let aa = &v;
println!("v lengh:{}:{:?}",v.len(),v.as_ptr());
println!("aa lengh:{}:{:?}",aa.len(),aa.as_ptr());
println!("v lengh:{}",a.len());
let c:&mut String = &mut v;
println!("c(v) lengh:{},{:?}",c.len(),c.as_ptr());
c.push_str(",world");
println!("v appened:{}",c);
v.push_str(",world");
println!("v lengh:{}",v.len());
let cc = longest("abc".into(), "bb".into());
println!("the longer one is : {}",cc);
}
fn longest<'a,'b,'c>(x:&'a str,y:&'b str) ->&'c str
where 'a:'c, 'b:'c {
if x.len() > y.len(){
x
}else {
y
}
}