当前位置: 首页 > news >正文

Rust---有关介绍

目录

  • Rust---有关介绍
  • 变量的操作
  • Rust 数值库:num
  • 某些基础数据类型
    • 序列(Range)
    • 字符类型
    • 单元类型
  • 发散函数
  • 表达式(!= 语句)

Rust—有关介绍

  • 得益于各种零开销抽象、深入到底层的优化潜力、优质的标准库和第三方库实现,Rust 具备非常优秀的性能,和 C、C++ 是 一个级别。
  • 要学好 Rust,需要深入理解内存、堆栈、引用、变量作用域等这些其它高级语言往往不会深入接触的内容。
  • cargo 提供了一系列的工具,从项目的建立、构建到测试、运行直至部署,为 Rust 项目的管理提供尽可能完整的手段。同时,与 Rust 语言及其编译器 rustc 紧密结合。
  • 检查是否成功安装Rust
    在这里插入图片描述

变量的操作

  • 变量绑定、变量解构、变量遮蔽。

Rust 数值库:num

  • Rust 的标准库相比其它语言,准入门槛较高,因此有理数和复数并未包含在标准库中。

某些基础数据类型

序列(Range)

  • 序列只允许用于数字或字符类型,原因是:它们可以连续,同时编译器在编译期可以检查该序列是否为空,字符和数字值是 Rust 中仅有的可以用于判断是否为空的类型。
  • Rust 提供了一个非常简洁的方式,用来生成连续的数值,例如 1..5,生成从 1 到 4 的连续数字,不包含 5 ;1..=5,生成从 1 到 5 的连续数字,包含 5。

字符类型

  • Rust 的字符不仅仅是 ASCII,所有的 Unicode 值都可以作为 Rust 字符,包括单个的中文、日文、韩文、emoji 表情符号等等,都是合法的字符类型。
  • 和一些语言不同,Rust 的字符只能用 ' ' 来表示, " " 是留给字符串的。

单元类型

  • 单元类型 (),是一个零长度的元组。它没啥作用,但是可以用来表达一个函数没有返回值。
  • main 函数就返回这个单元类型 (),常见的 println!() 的返回值也是单元类型 ()
  • 可以用 () 作为 map 的值,表示我们不关注具体的值,只关注 key。 这种用法和 Go 语言的 struct{} 类似,可以作为一个值用来占位,但是完全不占用任何内存。

发散函数

  • 没有返回值的函数在 Rust 中是有单独的定义的:发散函数( diverge function ),顾名思义,无法收敛的函数。
  • 当用 ! 作函数返回类型的时候,表示该函数永不返回( diverge function ),特别的,这种语法往往用做会导致程序崩溃的函数。
fn dead_end() -> ! {panic!("你已经到了穷途末路,崩溃吧!");
}

表达式(!= 语句)

  • 表达式如果不返回任何值,会隐式地返回一个 ()
  • 表达式不能包含分号,一旦在表达式后加上分号,它就会变成一条语句,再也不会返回一个值。
  • 表达式会进行求值,然后返回一个值。能返回值,它就是表达式。
http://www.lryc.cn/news/330543.html

相关文章:

  • vue项目双击from表单限制重复提交 添加全局注册自定义函数
  • WebPack的使用及属性配、打包资源
  • 机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用,结合生活中的生动例子帮助大家理解
  • 数据处理库Pandas数据结构DataFrame
  • 中国发展新能源的核心驱动力是什么?其原理是如何运作的?
  • skywalking
  • 江苏开放大学2024年春《大学英语(D) 060108》第二次过程性考核作业参考答案
  • dockerfile制作-pytoch+深度学习环境版
  • YOLOv8结合SCI低光照图像增强算法!让夜晚目标无处遁形!【含端到端推理脚本】
  • 视频监控/云存储/AI智能分析平台EasyCVR集成时调用接口报跨域错误的原因
  • VuePress基于 Vite 和 Vue 构建优秀框架
  • 冒泡排序,选择排序,插入排序,希尔排序,基数排序,堆排序代码分析(归并排序和快速排序后续更新)
  • 从入门到精通:NTP卫星时钟服务器技术指南
  • OpenResty基于来源IP和QPS来限流
  • 面对AI技术创业的挑战以及提供给潜在创业者的一些建议
  • `require`与`import`的区别
  • 中介者模式:优雅解耦的利器
  • Ubuntu20.04安装MatlabR2018a
  • 基于SpringBoot的图书馆管理系统设计与实现
  • 网易云首页单页面html+css
  • acwing算法提高之图论--最小生成树的典型应用
  • springcloud基本使用二(远程调用)
  • 代码随想录刷题day42| 01背包理论基础分割等和子集
  • Python文件操作命令
  • CSS面试题---基础
  • OpenHarmony实战开发-分布式数据管理
  • 微服务(基础篇-007-RabbitMQ部署指南)
  • C语言一维数组及二维数组详解
  • 11.图像边缘检测的原理与实现
  • RVM安装ruby笔记