• Rust学习——基础概念


    变量:

    1. let 、let mut
    2. const

    数据类型:

    1. 标量类型(scalar types)
      1. 整型
        1. 有符号 和 无符号 代表数字能否为负值
        2. 有符号:-(2^(n-1)) ~ 2^(n-1) - 1
        3. 无符号:0 ~ 2^n - 1
        4. 长度类型为 arch 表示根据当前计算机架构位数,64位就是64位,32位就是32位
        5. 声明整型默认类型是 i32
      2. 浮点
        1. 声明浮点数默认类型是 f64(因为精度比f32高)
        2. 采用IEEE-754 标准表示
      3. 布尔
        1. bool
      4. 字符
        1. 用char声明,使用单引号,字符串使用双引号
        2. char类型大小为4个字节 4 * 8 = 32位
    2. 复合类型(compound types)
      1. 元祖(tuple)
        1. 将多个不同类型值组合进一个复合类型的方式
          2.元祖长度是固定的,不可变
        2. 元祖可以解构
        3. 支持用 .index 的方式访问值
        4. 如果表达式不返回任何值,则会隐式返回单元值,即没有任何值得元祖:()
      2. 数组
        1. 数组中的每个元素类型必须相同
        2. rust中数组长度是固定的,不可变
        3. let a = [3; 2] === let a = [3, 3]
        4. let a: [i32; 5] = [1,2,3,4,5]
        5. 数组越界rust会panic,直接告诉你,安全保障
          函数
      3. 函数变量命名遵循 snake case风格,所有字母都是小写并用下划线分割单词。
      4. 函数参数
        1. 必须声明每个参数类型
      5. 包含语句和表达式的函数体
        1. rust是一门基于表达式的语言
        2. 语句不返回值
        3. 表达式可以是语句的一部分
        4. {},也是一个表达式,可以用来运算
        5. 如果在表达式结尾加上分号,就变成了语句,语句不会返回值,所以要视情况而定
      6. 具有返回值的函数
        1. -> 声明函数返回值类型
          注释
          rust 中的注释有两种:
      7. // 双斜杠注释
      8. doc 注释
        控制流
      9. if不用写括号包裹条件(arms)
      10. 条件必须是bool值,无隐式转换
      11. if可以在let中使用..
      12. 每个分支表达式返回值必须都是相同类型
      13. 循环有三种:loop、while、for
        1. loop
          1. 使用break停止循环
          2. 使用continue跳出本次循环
          3. 若存在嵌套循环,break、continue应用于就近的内层循环
          4. 可以选择在循环上指定“循环标签”,即给循环命名,这样可以使用break、continune显示操作循环迭代,如 break 'xxxx_loop';
          5. 循环可以返回值,通过在break表达式后加入表达式,如 break count * 2;
        2. while
        3. for
          1. 在数组越界这种场景时,可以考虑用for替代while
          2. 通过 for ele in list.iter() {} 迭代list
          3. 通过 for num in (1..4).rev() {} 反转输出4321
    学习是一条令人时而喜极若狂、时而郁郁寡欢的道路。
  • 相关阅读:
    Java基础学习(二)——对象
    Java基础学习(一)
    设置eclipse代码自动补全功能
    C# 之泛型详解(转)
    查找项目的代码行数(适用于VS)
    转: rdlc报表An error occurred during local report processing错误
    自己创建的Window服务,经常变为挂起状态,重启失败的处理
    C# 项目引用WebService,提示报错“在 ServiceModel 客户端配置部分中,找不到引用协定...”
    轉 @@identity与scope_identity()函数的区别
    JS window.onload事件的一些理解
  • 原文地址:https://www.cnblogs.com/tim100/p/15608767.html
Copyright © 2020-2023  润新知