rust(6)-函数与作用域

pub fn add_num(n1:i32,n2:i32)->i32{
    n1+n2
}

fn main() {
    let x=12;
	let y=9;
	let z1=&add_num(x,y);
	println!("{}",z1);
}

rustc learn1.rs
learn1.exe
.\learn1.exe
21
pub fn is_even(num:i32)->bool{
    if  num%2==0 {
	    return true;
	}
	else{
	    return false;
	}
	
}

fn main() {
    let x=12;
//	let y=9;
	if is_even(x){
	    println!("{}是偶数",x);	    
	}
}
pub fn is_div(n1:i32,n2:i32)->bool{
    if  n1%n2==0 {
	    return true;
	}
	else{
	    return false;
	}
	
}

fn main() {
    let x=12;
	let y=9;
	if is_div(x,y){
	    println!("{}被{}整除",x,y);	    
	}
	assert_eq!(is_div(x,y),true);
}
 rustc learn1.rs
 .\learn1.exe
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `false`,
 right: `true`', learn1.rs:17:2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

作用域,在括号内是单独的作用域

pub fn is_div(n1:i32,n2:i32)->bool{
    if  n1%n2==0 {
	    return true;
	}
	else{
	    return false;
	}
	
}

fn main() {
    let x=12;
	let y=9;
	if is_div(x,y){
	    println!("{}被{}整除",x,y);	    
	}
	{
	    let y=4;
    	if is_div(x,y){
	        println!("{}被{}整除",x,y);	    
	    }		
	}

	if !is_div(x,y){
	    println!("{}不被{}整除",x,y);	    
	}
	assert_eq!(is_div(x,y),true);
}
 rustc learn1.rs
PS F:\learn\rustlearn> .\learn1.exe
12被4整除
12不被9整除
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `false`,
 right: `true`', learn1.rs:27:2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
发布了385 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/AI_LX/article/details/104499854