rust中交换两个值
1、创建新绑定
fn main(){ let (a,b)=(1,1); let (a,b)=(b,a+b); }
(使用限制,每次都是新绑定)
2、修改绑定内容-临时变量
fn main(){ let (mut a,mut b)=(1,1); let tmp=a+b; a=b; b=tmp; }
3、修改绑定内容-swap
fn main(){ let (mut a,mut b)=(1,1); std::mem::swap(&mut a,&mut b); }
==============
ps:(fibonacci可以不用交换,直接用替代元组)
fn fib(n:u64)->u64{ if n<2{ return n; } let mut vv=(1,1); for _ in 2..n{ vv = (vv.1,vv.0+vv.1); } vv.1 }

浙公网安备 33010602011771号