rust读书笔记基础1

栏目: 编程语言 · Rust · 发布时间: 6年前

内容简介:if和其他的语言类似

rust名词和cargo

  • rust中的名词

    • 代码包:crates
    • 原始标识符: 没理解
  • rust中宏和函数的区别?

    • rust的宏和函数调用时候形式的区别,宏带!而函数调用不带;
  • rust中的cargo

    • cargo new 项目名:创建新的项目,项目名成小写下划线链接
    • cargo build:构建项目,生成编译后的可执行文件,用于开发
    • cargo run:编译和运行项目
    • cargo check:确保项目可以编译
    • cargo build --release:优化编译项目,用于测试

rust中的基础知识

变量

  • Rust 代码中的函数和变量名使用 snake case 规范风格。
  • 变量默认不可变
  • 在变量前加上mut标识,标识可变变量
  • 变量和常量的区别,变量使用let修饰,常量使用const,并且不能使用mut修饰,常量不能是运行时计算出来的值
  • 隐藏 :隐藏是多次使用let修饰同一个名字的变量,后面的变量会覆盖之前的变量;隐藏可以改变之前变量的类型,mut则不可以。(关注一下垃圾回收对覆盖的处理)

基本类型

整型标量

长度 有符号 无符号
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
arch isize usize

其他标量

长度 类型 描述
32-bit f32 单精度浮点型
64-bit f64 双精度浮点型
32-bit char 字符型
8-bit bool 布尔型

复合类型

  • 元组:类型可以不同,解构访问或者点访问
  • 数组:类型相,长度固定,栈上分配

函数

函数定义

//fn+函数名+(参数)+ -> + 返回值类型 + {函数体}
fn function_name (parameters) -> type_of_return {
   body;
}

函数签名中,必须声明每个参数的类型;返回值可以有多个,使用元组;

函数调用

//函数名+() 
function_name ();

控制流

if和其他的语言类似

循环:

loop + break

fn main() {
    let mut counter = 0;

    let result = loop {
        counter += 1;

        if counter == 10 {
            break counter * 2;
        }
    };

    assert_eq!(result, 20);
}

for

fn main() {
    let a = [10, 20, 30, 40, 50];

    for element in a.iter() {
        println!("the value is: {}", element);
    }
}

while

fn main() {
    let a = [10, 20, 30, 40, 50];
    let mut index = 0;

    while index < 5 {
        println!("the value is: {}", a[index]);

        index = index + 1;
    }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Python

Programming Python

Mark Lutz / O'Reilly Media / 2006-8-30 / USD 59.99

Already the industry standard for Python users, "Programming Python" from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of chan......一起来看看 《Programming Python》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具