RUST语言基本数据类型认识

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

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

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! 与 {} 点位行号 进行格式化输出

rust 复制代码
    //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 复制代码
    //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.浮点数声明及使用

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

7.布尔类型

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

8.字符

rust 复制代码
//字符类型
    let cc = 'K';
    let dd:char = 'O';

9.元组使用

rust 复制代码
//元组使用
    //指定数据类型
    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.数组使用

rust 复制代码
//数组使用
    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]);

完整示例代码:

rust 复制代码
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]);

}

输出结果 :

相关推荐
liulilittle1 分钟前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
88号技师7 分钟前
2025年6月一区-田忌赛马优化算法Tianji’s horse racing optimization-附Matlab免费代码
开发语言·算法·matlab·优化算法
勤奋的知更鸟13 分钟前
Java 编程之模板方法模式
java·开发语言·模板方法模式
M1A127 分钟前
TCP/IP协议精解:IP协议——互联网世界的邮政编码系统
后端·网络协议·tcp/ip
逸风尊者34 分钟前
开发易掌握的知识:GeoHash查找附近空闲车辆
java·后端
上单带刀不带妹1 小时前
手写 Vue 中虚拟 DOM 到真实 DOM 的完整过程
开发语言·前端·javascript·vue.js·前端框架
程序猿阿越2 小时前
Kafka源码(一)Controller选举与创建Topic
java·后端·源码
-凌凌漆-2 小时前
【Qt】QStringLiteral 介绍
开发语言·qt
程序员爱钓鱼2 小时前
Go语言项目工程化 — 常见开发工具与 CI/CD 支持
开发语言·后端·golang·gin
Jiude2 小时前
MinIO 社区版被故意阉割,Web管理功能全面移除。我来试试国产RustFS
后端·docker·架构