RUST语言基本数据类型认识

news2024/10/11 20:42:17

1.RUST的基本数据类型参考:

2.使用RUST数据类型声明变量并赋值:

    let a:i8=1;//8位有符号整数
    let a1:u8=2;//8位无符号整数

    let b:i16=1;//16位有符号整数
    let b1:u16=2;//16位无符号整数

    let c:i32=1;//32位有符号整数
    let c1:u32=2;//32位无符号整数

    let d:i64=1;//64位有符号整数
    let d1:u64=2;//64位无符号整数

    let e:i128=1;//128位有符号整数
    let e1:u128=2;//128位无符号整数

    //32位架构表示32位
    //64位架构表示64位
    let g:isize=1;//32/64位有符号整数
    let g1:usize=2;//32/64位无符号整数

3.格式化输出变量赋值: 

  通过printlf!  与 {} 点位行号 进行格式化输出

    //32位架构表示32位
    //64位架构表示64位
    let g:isize=1;//32/64位有符号整数
    let g1:usize=2;//32/64位无符号整数

    println!("isize:g->{},usize:g1->{}",g,g1);//默认isize与usize类型,

4.RUST中进制表示:

    //RUST中进制表示,变量名建议小写,单词间用_来隔开
    let _decimal =98_222;//十进制  0~9
    let _hex	=0xff;//十六进制 0~f
    let _octal	=0o77;//八进制 0~7
    let _binary =	0b1111_0000;//二进制 0~1
    let _my_byte:u8 =b'A';//字节 0~255
    println!("{},{},{},{},{}",_decimal,_hex,_octal,_binary,_my_byte);

5.浮点数声明及使用

    //浮点数
    let h = 6.80;//默认为64位浮点数
    let h1:f32 = 3.14;//赋值时指定浮点类型为32位浮点数
    println!("h:f64->{},h1:f32->{}",h,h1);

7.布尔类型

     //布尔类型
    let is_ok=false;
    let is_ok:bool = true;
    if is_ok {
        println!("{}",is_ok);
    }

8.字符

//字符类型
    let cc = 'K';
    let dd:char = 'O';

9.元组使用

//元组使用
    //指定数据类型
    let tup:(i8,i16,i32)=(1,2,3);
    println!("元组中元素1:{},元组中元素2:{},元组中元素3:{}",tup.0,tup.1,tup.2);
    //自动推导数据类型
    let tup1=(888,3.12159,cc);
    //取元组中返回值
    let (r,r1,r2)=tup1;//接收元组返回值给指定命名临时变量
    println!("r:{},r1:{},r2:{}",r,r1,r2);

10.数组使用

//数组使用
    let arr=[1,3,5,7,9];//类型自动推导为i32:5  类型为i32 长度为5
    let arr1:[u8;3]=[255,18,90];//u8最大值为255,最小值为0  注意数据类型取值范围
    let arr2:[u32;4]=[555,65536,129,u32::max(0, 0)];//u32最小值为0,不能赋值负数
    //如果要使用负数,使用i开始的数据类型如i8,i16,i32
    let arr3:[i8;3]=[-128,127,99];//i8取值范围为-128~+127

    //字符串数组使用
    let arr_strings = ["Hello","World"];

    //指定默认元素及数组创建数组
    let arr_def_int = [8;8];
    //遍历数组
    for v in arr_def_int {
        println!("{}",v);
    }

    //数组下标使用
    println!("{},{}",arr_strings[0],arr_strings[1]);

完整示例代码:

fn main() {
    println!("RUST语言基本数据类型认识");
    let a:i8=1;//8位有符号整数
    let a1:u8=2;//8位无符号整数

    let b:i16=1;//16位有符号整数
    let b1:u16=2;//16位无符号整数

    let c:i32=1;//32位有符号整数
    let c1:u32=2;//32位无符号整数

    let d:i64=1;//64位有符号整数
    let d1:u64=2;//64位无符号整数

    let e:i128=1;//128位有符号整数
    let e1:u128=2;//128位无符号整数

    //32位架构表示32位
    //64位架构表示64位
    let g:isize=1;//32/64位有符号整数
    let g1:usize=2;//32/64位无符号整数

    println!("isize:g->{},usize:g1->{}",g,g1);//默认isize与usize类型,

    //RUST中进制表示,变量名建议小写,单词间用_来隔开
    let _decimal =98_222;//十进制  0~9
    let _hex	=0xff;//十六进制 0~f
    let _octal	=0o77;//八进制 0~7
    let _binary =	0b1111_0000;//二进制 0~1
    let _my_byte:u8 =b'A';//字节 0~255
    println!("{},{},{},{},{}",_decimal,_hex,_octal,_binary,_my_byte);

    //浮点数
    let h = 6.80;//默认为64位浮点数
    let h1:f32 = 3.14;//赋值时指定浮点类型为32位浮点数
    println!("h:f64->{},h1:f32->{}",h,h1);

    //布尔类型
    let is_ok=false;
    let is_ok:bool = true;
    if is_ok {
        println!("{}",is_ok);
    }

    //字符类型
    let cc = 'K';
    let dd:char = 'O';

    //元组使用
    //指定数据类型
    let tup:(i8,i16,i32)=(1,2,3);
    println!("元组中元素1:{},元组中元素2:{},元组中元素3:{}",tup.0,tup.1,tup.2);
    //自动推导数据类型
    let tup1=(888,3.12159,cc);
    //取元组中返回值
    let (r,r1,r2)=tup1;//接收元组返回值给指定命名临时变量
    println!("r:{},r1:{},r2:{}",r,r1,r2);

    //数组使用
    let arr=[1,3,5,7,9];//类型自动推导为i32:5  类型为i32 长度为5
    let arr1:[u8;3]=[255,18,90];//u8最大值为255,最小值为0  注意数据类型取值范围
    let arr2:[u32;4]=[555,65536,129,u32::max(0, 0)];//u32最小值为0,不能赋值负数
    //如果要使用负数,使用i开始的数据类型如i8,i16,i32
    let arr3:[i8;3]=[-128,127,99];//i8取值范围为-128~+127

    //字符串数组使用
    let arr_strings = ["Hello","World"];

    //指定默认元素及数组创建数组
    let arr_def_int = [8;8];
    //遍历数组
    for v in arr_def_int {
        println!("{}",v);
    }

    //数组下标使用
    println!("{},{}",arr_strings[0],arr_strings[1]);

}

输出结果 :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1567583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【web】nginx+php-fpm云导航项目部署-(简版)

一、yum安装nginx yum -y install nginx 二、php环境安装 2.1 php安装 yum -y install php 2.2 php-fpm安装 yum -y install php-fpm 注:PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。 2.3 项目依赖的php-xml和php-xmlrpc安装 yum -y install php-…

在Vue2里面加载AntvL7

1、代码块 <template><div ref"mapContainer" style"width: 800vh; height: 100vh; align-items: center; justify-content: center"></div> </template><script> export default {mounted() {this.initMap();},methods: {…

openplc Linux 地址映射io,读写驱动数据等使用记录

1. 上一篇记录 openplc使用C语言文件读写驱动实现基本流程。 openPLC_Editor C语言编程 在mp157 arm板上调用io等使用记录_openplc c 编程-CSDN博客 2. 下面通过映射地址的方式控制io和读写驱动数据。 在runtime 环境的 hardware 硬件配置中 选择 python on Linux(PSM)&#…

Redis常用命令补充和持久化

一、redis 多数据库常用命令 1.1 多数据库间切换 1.2 多数据库间移动数据 1.3 清除数据库内数据 1.4 设置密码 1.4.1 使用config set requirepass yourpassword命令设置密码 1.4.2 使用config get requirepass命令查看密码 二、redis高可用 2.1 redis 持久化 2.1.1 持…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(7)复发

PS从入门到精通视频各类教程整理全集&#xff0c;包含素材、作业等 最新PS以及插件合集&#xff0c;可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制&#xff0c;今天先分享到这里&#xff0c;后续持续更新 PS敬伟01——90集等文件 https://www.alipan.com/s…

日历插件fullcalendar【前端】

日历插件fullcalendar【前端】 前言版权开源推荐日历插件fullcalendar一、下载二、初次使用日历界面示例-添加事件&#xff0c;删除事件 三、汉化四、动态数据五、前后端交互1.环境搭建-前端搭建2.环境搭建-后端搭建3.代码编写-前端代码fullcalendar.htmlfullcalendar.js 4.代码…

vue项目引入微信sdk: npm install weixin-js-sdk --save报错

网上查到要用淘宝的镜像 同事告知旧 域名&#xff1a;https://registry.npm.taobao.org/已经不能再使用 使用 npm config set registry http://registry.npmmirror.com

DTFT及其反变换的直观理解

对于离散时间傅里叶变换(DTFT)及其反变换的讲解&#xff0c;教材里通常会先给出DTFT正变换的公式&#xff0c;再举个DTFT的简单变换例子&#xff0c;推导一下DTFT的性质&#xff0c;然后给出DTFT反变换的公式&#xff0c;再证明一下正变换和反变化的对应关系。总的来说就是&…

MySQL版本特性和存储引擎选择

MySQL版本特性和存储引擎选择 1.说一下MySQL 5.5 5.6 5.7 8.0 各个版本的特性 MySQL 5.5 优点: 稳定性&#xff1a;5.5版本是长期支持&#xff08;LTS&#xff09;版本&#xff0c;因此它非常稳定&#xff0c;被广泛部署在生产环境中。兼容性&#xff1a;与旧版本的MySQL和…

索引的概念

索引的概念    1.索引是一种可选的与表相关的数据库对象&#xff0c;用于提高数据的查询效率。    2.索引是一种有序的数据结构。    3.如果一个表没有创建索引&#xff0c;则对该表进行查询时需要进行全表扫描&#xff1b;如果创建了索引&#xff0c;则在有条件查询时…

http模块 设置资源类型(mime类型)

虽然浏览器自带websocket功能它会根据响应回来的内容自动去判断资源类型&#xff0c;但是我们加上了mime类型判断代码会更加规范些 一、mime类型概念&#xff1a; 媒体类型是一种标准&#xff0c;它用来表示文档。文件、字节流的性质和格式。HTTP服务可以设置响应头Content-T…

WebKit简介

1、简介&#xff08;WebKit&#xff09; WebKit 是一个开源的浏览器引擎&#xff0c;最初由苹果公司基于KHTML&#xff08;K Desktop Environment的HTML渲染引擎&#xff09;开发&#xff0c;并广泛应用于Safari浏览器&#xff0c;后来也被其他多款浏览器和应用采用。WebKit负…

【管理咨询宝藏48】AA银行信息科技提升分析报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏48】AA银行信息科技提升分析报告 【格式】PPT版本&#xff0c;可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上非常…

【介绍什么是DDOS】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Swin_transformer模型解析

目录 •1、网络整体框架 •2 、Patch Merging •3 、W-MSA MSA模块计算量 W-MSA模块计算量 •4、 SW-MSA •5 、Relative Position Bias •1、网络整体框架 •2 、Patch Merging 这里看着挺复杂&#xff0c;其实就相当于先对特征图进行LayerNorm&#xff0c;然后再进行一…

PDF编辑和格式转换工具 Cisdem PDFMaster for Mac

Cisdem PDFMaster for Mac是一款功能强大的PDF编辑和格式转换工具。它为用户提供了直观且易于使用的界面&#xff0c;使常用功能触手可及&#xff0c;从而帮助用户轻松管理、编辑和转换PDF文件。 软件下载&#xff1a;Cisdem PDFMaster for Mac v6.0.0激活版下载 作为一款完整的…

vue 使用自定义标签URL Protocol 调用本地exe 并传参

创建注册表文件reg&#xff0c;并运行 里面的路径需要替换成实际exe的绝对路径 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\App] "URL:App Protocol Handler" "URL Protocol""" [HKEY_CLASSES_ROOT\App\DefaultIcon] &qu…

【深度学习】图像自然语言描述生成

案例 6&#xff1a;图像自然语言描述生成&#xff08;让计算机“看图说话”&#xff09; 相关知识点&#xff1a;RNN、Attention 机制、图像和文本数据的处理 1 任务目标 1.1 任务和数据简介 ​ 本次案例将使用深度学习技术来完成图像自然语言描述生成任务&#xff0c;输入…

鸿蒙实战开发-通过输入法框架实现自绘编辑框

介绍 本示例通过输入法框架实现自会编辑框&#xff0c;可以绑定输入法应用&#xff0c;从输入法应用输入内容&#xff0c;显示和隐藏输入法。 效果预览 使用说明 1.点击编辑框可以绑定并拉起输入法&#xff0c;可以从输入法键盘输入内容到编辑框。 2.可以点击attach/dettac…

【单片机家电产品学习记录--蜂鸣器】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 单片机家电产品–蜂鸣器 前言 记录学习单片机家电产品内容 已转载记录为主 一、知识点 1电子电路学习笔记&#xff08;17&#xff09;——蜂鸣器 蜂鸣器种类和原理 2疑…