RUST语言基本数据类型认识

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]);

}

输出结果 :

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python机器学习实验 Python 数据分析

1.实验目的 掌握常见数据预处理方法,熟练运用数据分析方法,并掌握 Python 中的 Numpy、 Pandas 模块提供的数据分析方法。 2.实验内容 1. Pandas 基本数据处理 使用 Pandas 模块,完成以下操作。 (1)创建一个由 0 到 50…

windows消息机制--1基本概念解释

基本概念解释 我们在编写标准C程序的时候,经常会调用各种库函数来辅助完成某些功能:初学者使用得最多的C库函数就是printf了,这些库函数是由你所使用的编译器厂商提供的。在Windows平台下,也有类似的函数可供调用:不同的是&#…

UE4_普通贴图制作法线Normal材质

UE4 普通贴图制作法线Normal材质 2021-07-02 10:46 导入一张普通贴图: 搜索节点:NormalFromHeightmap 搜索节点:TextureObjectparameter,并修改成导入的普通贴图,连接至HeightMap中 创建参数normal,连接…

docker部署nacos,单例模式(standalone),使用内置的derby数据库,简易安装

文章目录 前言安装创建文件夹docker指令安装docker指令安装-瘦身版 制作docker-compose.yaml文件查看页面 前言 nacos作为主流的服务发现中心和配置中心,广泛应用于springcloud框架中,现在就让我们一起简易的部署一个单例模式的nacos,版本可…

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

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

Unity开发者3D模型基础

术语“3D 建模”是指使用特殊软件创建对象或表面的 3D 数字表示的过程。 3D 模型可用于各种不同的目的,包括电影、视频游戏、建筑和工程。 3D 建模也是创建虚拟现实 (VR) 和增强现实 (AR) 体验工作的重要组成部分。 我们通常通过构建或获取 3D 模型并将其导入 Unit…

设置win32程序的窗口过程为自定义的窗口过程

Win32 SetWindowLong函数的第二个参数是一个整型,可以取不同的值,根据此值设置窗口的不同的属性;如果设为 GWL_WNDPROC 则可以为窗口设置一个另外的窗口过程; VC6新建一个win32项目,类型选为 典型helloworld 程序; 资源中添加一个菜单, 总的代码如下; // setproc.cp…

NineData云原生智能数据管理平台新功能发布|2024年3月版

数据库 DevOps - 大功能升级 SQL 开发早期主要提供 SQL 窗口(IDE)功能,在产品经过将近两年时间的打磨,新增了大量的企业级功能,已经服务了上万开发者,覆盖了数据库设计、开发、测试、变更等生命周期的功能…

正则表达式完全指南:语法、用法及JavaScript实例

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

K8s Deployment 滚动更新、金丝雀发布、自定义钩子、生命周期解析

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、Deployment的高级特性 1、滚动更新 2、金丝雀…

harmonyOS的客户端存贮

什么是客户端存贮 在harmonyOS中,客户端存贮是指将数据存贮在本地设备以供应用程序使用; 注: 和feaureAblity搭配使用,content上下文的获取依赖该API如下: // 引入: import featureAbility from ohos.ability.featureAbility;// 使用: let content featureAbility.getConten…

STM32串口认识

常用函数介绍 串口发送/接收函数 HAL_UART_Transmit(); 串口发送数据,使用超时管理机制(即在发送成功前一直阻塞,相当于有个delay()在卡住主函数) HAL_UART_Receive(); 串口接收数据,使用超时…

极简云验证 download.php 文件读取漏洞复现

0x01 产品简介 极简云验证是一款开源的网络验证系统,支持多应用卡密生成:卡密生成 单码卡密 次数卡密 会员卡密 积分卡密、卡密管理 卡密长度 卡密封禁 批量生成 批量导出 自定义卡密前缀等;支持多应用多用户管理:应用备注 应用版…

Android JNI基础

目录 一、JNI简介1.1 什么是JNI1.2 用途1.3 优点 二、初探JNI2.1 新建cpp\cmake2.2 build.gradle配置2.3 java层配置2.4 cmake和c 三、API详解3.1 JNI API3.1.1 数据类型3.1.2 方法 3.2 CMake脚本 四、再探JNI 一、JNI简介 1.1 什么是JNI JNI(Java Native Interfa…

开源软件技术社区方案

开源软件技术社区是一个由开发者、贡献者、用户和维护者组成的共享平台,主要目的是打造技术、软件产品良性互动、开源技术安全可控的软件生态环境,实现可复用应用或服务的快速部署与使用、完成资源与能力的高度共享、促进社区成员的共建共赢,…

面试复盘1 - 测试相关(实习)

写在前:hello,大家早中晚上好~这里是西西,最近有在准备测试相关的面试,特此开设了新的篇章,针对于面试中的问题来做一下复盘,会把我自己遇到的问题进行整理,除此之外还会进行对一些常见面试题的…

什么是异地组网?

在当今互联网普及的背景下,异地组网已成为许多企业和个人日常工作中不可或缺的一部分。异地组网的核心目的是实现不同地区间的快速、高效的局域网连接。在这个过程中,延迟(即网络数据传输的时间延迟)是一个关键影响因素。我们来看…

还得是抖音,字节推出竖屏视频理解数据集,入选CVPR2024

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 短视频在当下社交媒体逐渐成为主导的视频格式。传统视频处理技术和研究一般都专注于横屏视频…

【快速解决】python缺少了PyQt5模块的QtMultimedia子模块

目录 问题描述 问题原因 解决方法 成功示范 问题描述 Traceback (most recent call last): File "d:\桌面\python项目\DesktopWords-master\main.py", line 4, in <module> from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent ModuleNotFoundEr…

Unity自定义icon

Unity自定义icon 1. 新建文件夹 OfficeFabricIconSet2. 新建Iconset3. 新建子文件夹Textures并添加icon图片4. 向iconset添加Quad Icons5. 最终效果 教程来源处&#xff1a; https://365xr.blog/build-your-own-button-icon-set-for-microsoft-hololens-2-apps-with-mrtk-using…