rust读书笔记基础1

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

内容简介: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;
    }
}

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

查看所有标签

猜你喜欢:

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

推荐系统

推荐系统

[奥地利] Dietmar Jannach、Markus Zanker、Alexander Felfernig、Gerhard Friedrich / 蒋 凡 / 人民邮电出版社 / 2013-6-25 / 59.00元

编辑推荐: 通过对本书的学习,读者不仅可以全面系统地了解该领域的基础原理,还能试验如何搭建一套真正的推荐系统。 —— 百度主任架构师、百度技术委员会主席 廖若雪 本书比较全面地介绍了推荐系统涉及的相关知识点,很适合对于推荐系统感兴趣的相关人员作为入门教程,目前能够系统全面介绍相关技术的中文书籍还显得匮乏,相信这本译著对于缓解这种情况大有裨益。 ——新浪微博数据挖掘技术专家 ......一起来看看 《推荐系统》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器