01. Rust 初识

fn gcd(mut n: u64, mut m: u64) -> u64 { 
    assert!(n != 0 && m != 0); 
    while m != 0 { 
        if m < n { 
            let t = m; 
            m = n; 
            n = t; 
        } 
        m = m % n; 
    } 
    n 
}

#[test] 
fn test_gcd() { 
    assert_eq!(gcd(14, 15), 1); 
 
    assert_eq!(gcd(2 * 3 * 5 * 11 * 17, 
                   3 * 7 * 11 * 13 * 19), 
               3 * 11); 
}

笔记

  1. let 语句用于声明一个局部变量, 不用明确写出 t 的类型,因为 Rust 可以根据如何使用变量推断出来。
  2. 函数参数和返回值则必须像前面一样明确写出类型
  3. 函数体中最后一行代码是一个表达式,且表达式末尾没有分号,那这个表达式的值就是函数的返回值
  4. #[test] 标记是属性(attribute)的一个例子
  5. 属性是一种开放式标记机制,用于给函数或其他声明添加补充说明

你可能感兴趣的:(01. Rust 初识)