zoukankan      html  css  js  c++  java
  • 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
    学习是一条令人时而喜极若狂、时而郁郁寡欢的道路。
  • 相关阅读:
    那些离不开的 Chrome 扩展插件
    Spring Boot 实战 —— 入门
    Maven 学习笔记
    Linux lvm 分区知识笔记
    Linux 双向 SSH 免密登录
    CentOS Yum 源搭建
    Ubuntu 系统学习
    iOS 测试三方 KIF 的那些事
    Swift 网络请求数据与解析
    iOS Plist 文件的 增 删 改
  • 原文地址:https://www.cnblogs.com/tim100/p/15608767.html
Copyright © 2011-2022 走看看