rust 学习记录(一)

搭建环境

     菜鸟教程(注意务必要有visual c++ tools)
基本语法

   格式化输出 :format!语句的使用

   占位符{}

   输出 这个功能我一般用来调试  在程序运行的某个阶段输出一段信息让我判断程序的走向以及错误
   rust的输出有 print!("")和println!()  注意记得写 号。 其区别就是一个会换行一个不换行 这些没啥好说的。

   重点是 rust的占位符就有点和我们平时学习c语言 c++不一样了 ,用是{}这两个符号。

print!("test is {}",a)
println!("test is {}",b)

菜鸟教程上还有一种操作 print!("test is {0} and {0}",a) 这种方式可以用于重复输出 它是将a当作一个数组,0标识下表为0

let a = 4;
println!("test is {0},{0}",a)

但是经过实验以下两种操作行不通,果然骚操作在rust上会骚断腿。

let a = "123";
println!("test is {0},{1},{2}",a);
//会报错


let a = [1,2,3];
println!("test is {0},{1},{2}",a);
//会报错

/**`[{integer};4]`不实现`std::fmt::Display`

**没有为`[{integer};4]实现特征“std::fmt::Display”`

**在格式字符串中,您可以使用`{:?}`(或{:?}为了漂亮的印刷品)

**`std::fmt::Display::fmt`rustcE0277所需

**主要单位:卢比(5,40):错误源于此处的宏
**/

实际上rust {0},{1} 代表的是后面的所有数据为一个数组 ,并不是吧单个a看成一个数组
 

let a = "123";
let b = "1";
let c = "3";
println!("test is {0},{1},{2}",a,b,c);

//他是吧 a,b,c 看成一个[a,b,c]的数组   
//所以就可以做如下操作

println!{"test is {1},{1},{1}",a,b,c};

输出 "test is 1,1,1"

占位符 {:?} 
个人理解为:会把构造体的形式输出出来;只有在debug模式的时候才可以使用  带上 #[derive(Debug,)]

pub struct gradle{
    isHead:bool,
    head:String,
    list:i32
}


let a:gradle = gradle{
    ishead:true,
    head:"123"
    list:32
}

println!("{:?}",a);

输出: gradle{ishead:true,head:"123",list:32}

占位符{name}
这个看代码应该很好理解;

printlin!("{value},{a}",value="123",a="4");

 

占位符{:p}

输出当前变量的地址 注意参数前面需要带&号

let a = 5;
println!{"{:p}",&a}

println!("Hello {:0}!", "x");
println!("Hello {:1$}!", "x", 5);
println!("Hello {1:0$}!", 5, "x");
println!("Hello {:width$}!", "x", width = 5);

 

内容暂时记录到这其他的再更新。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值