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. 属性是一种开放式标记机制,用于给函数或其他声明添加补充说明
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.using System // 使用System 命名空间下的类库 2.namespace // 命名空间关键...
    房的懿米阅读 188评论 0 0
  • 变量 声明变量关键字:let 变量值分为两种类型: 可变的(mut) 不可变 变量类型: 布尔型 - bool 表...
    JennerHua阅读 977评论 0 4
  • Kotlin 学习笔记(一) Kotlin初识 这是一个Kotlin系列的教程,目的是为了使自己记忆和理解的更加深...
    真的有照片阅读 1,215评论 1 6
  • 前言 针对面试的 JavaScript 知识点整理 1.介绍一下js的数据类型有哪些,值是如何存储的 JavaSc...
    Moon_f3e1阅读 242评论 0 0
  • 1、隐式解析可选类型 有时候在程序架构中,第一次被赋值之后,可以确定一个可选类型总会有值,这时候每次使用时都判断和...
    Mr_xuy阅读 502评论 1 4