首页 > 其他分享 >Rust简易入门(一)

Rust简易入门(一)

时间:2024-03-30 15:22:09浏览次数:19  
标签:变量 数据类型 入门 元组 简易 数组 Rust 常量

Rust!Rust!Rust!

变量与不可变性

  • 在Rust中,变量使用 let 关键字进行声明

  • Rust支持类型推导,也可以显示指定变量类型

  • 变量名采用蛇形命名法,枚举结构体采用帕斯卡命名法,没有使用的变量采用前置下划线_以消除警告

  • 强制类型转换关键词 as

  • 打印变量 println!("val: {}", x); println!("val: {x}");

常量const与静态变量static

const常量:

  • 常量必须是编译时已知的常量表达式,必须指定类型与值

  • Rust的const常量值直接被嵌入到生成的底层机器码中

  • 常量名与静态变量命名必须大写,单词之间采用下划线连接

  • 常量的作用域是块级作用域,他们只在声明的作用域中可见

static静态变量

  • static变量在运行时分配内存

  • 可以在unsafe中修改

  • 生命周期为整个程序的生命周期

Rust基础数据类型

Integer types 默认为 i32

  • i8、i32、i64、i28

Unsigned Integer types

  • u8、u16、u32、u64、u128

platform-specific Integer types

  • usize

  • isize

Float Types 推荐使用f64

  • f32、f64

Boolean type

  • true、false

Character Types

  • 支持unicode

  • 表示char类型使用单引号

元组和数组

相同点:

  1. 元组和数组都是 Compound Types,而Vec和Map都是Collection Types

  2. 元组和数组长度是固定的

不同点:

  • 元组是不同数据类型构成

  • 数组是相同数据类型构成

数组:固定长度的同构集合

  • 创建方式:[a, b, c] [value; size]

元组:固定长度的异构集合

  • 空元组()为函数的默认返回值

所有权相关:copy和move,复杂数据类型会使用move移交所有权,基础数据类型与元组数组会使用copy

标签:变量,数据类型,入门,元组,简易,数组,Rust,常量
From: https://www.cnblogs.com/moguw/p/18105539/rust-base-1

相关文章

  • Vue+OpenLayers7入门到实战:OpenLayers涂鸦手绘线条、圆形和多边形,涂鸦线条自动收尾连
    返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战前言本章介绍如何使用OpenLayers7在地图上进行绘制图形的功能,上一章中《Vue+OpenLayers7入门到实战:OpenLayers图形绘制功能,OpenLayers实现在地图上绘制线段、圆形和多边形》我们已经讲过多种图形的绘制,本章主要......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    前言本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。01.python由来与发展介绍02.项目开发流程第一章markdown编辑器01.markdown基本语法02.Typora简介与安装03.Windows上gitee+Typora设置图床04.macOS上gitee+Typora设置图床第二章计......
  • 嵌入式开发学习笔记1——keil软件入门
    学习笔记(2024.3.30)引言从对几个问题的思考入手:1、keil是什么?干什么用的?有什么优点?2、keil从哪里下载?怎么安装?3、keil学习路线图怎么比较合理?学习的顺序?4、怎么快速用起来?1、keil是什么?干什么用的?有什么优点?keil软件介绍Keil是一款单片机开发环境,主要研发8051微控制器......
  • Kubernetes超详细教程,一篇文章帮助你从零开始学习k8s,从入门到实战
    k8s概述k8sgithub地址:https://github.com/kubernetes/kubernetes官方文档:https://kubernetes.io/zh-cn/docs/home/k8s,全程是kubernetes,这个名字源于希腊语,意为"舵手"或"飞行员”k8s这个缩写是因为k和s之间有八个字符Google在2014年开源了k8s项目,k8s是一个......
  • SVG XML 格式定义图形入门介绍
    SVGSVGmeansScalableVectorGraphics.SVG使用XML格式定义图形SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失SVG是万维网联盟的标准HelloWorldUseSVGinhtmlandyoucansee:LinktotheSVGfileYoucanuse<a>tagtolinktothes......
  • 1.java openCV4.x 入门-环境搭建
    专栏简介......
  • 【C++】C到C++的入门知识
    目录1、C++关键字2、命名空间2.1命名空间的定义2.2命名空间的使用2.2.1 加命名空间名称及作用域限定符2.2.2使用using将命名空间中某个成员引入2.2.3使用usingnamespace命名空间名称引入3、C++输入&输出4、缺省参数 4.1缺省参数的概念4.2缺省参数的分类......
  • Node.js入门:常用命令一览
    I.引言A.介绍Node.js的概念和应用场景Node.js是一个开源的、跨平台的JavaScript运行时环境,它可以用于服务器端的JavaScript应用程序开发。Node.js具有高性能、轻量化、易使用的特点,在Web应用、网络服务、数据交换等多个领域有着广泛的应用。Node.js使用事件驱动、非阻塞I/O......
  • node.js 入门案例 安装教程
    前言Node.js是一个基于ChromeJavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。可以让JavaScript在服务器端运行。它具有轻量级、高效、事件驱动、非阻塞I/O等特点,被广泛应......
  • gRPC入门学习之旅(四)
    gRPC入门学习之旅(一)gRPC入门学习之旅(二)gRPC入门学习之旅(三)实现定义的服务9.在“解决方案资源管理器”中,使用鼠标左键选中“Services”文件夹,然后在菜单栏上,依次选择“添加-->新建项”。10.在“添加新项”对话框中,选择“ASP.NETCore-->代码”节点,然后选择“类”项。......