Rust代码讲解
println!("{:?}")
在println!不能直接打印出来的情况下,使用println!("{:?}"),可以打印数据类型。
- 如果是结构体,可以打印结构体信息。
- 如果是数组,可以打印数组的信息。
fn main() { let string1 = String::from("Hello world"); let string2 = string1.as_bytes(); }
在main函数里面,定义了string1和string2
string1是从"hello world"构造的
string2是从string1构造的
println!("{}", string2); //会错误 //error [E0277] //[u8] doesn't implement std::fmt::Display
想显示string2,
但是提示错误
根据错误类型,我们知道
string2的类型是一个数组,数组里面的元素是u8类型
数组不能直接显示。
因为数组是一个集合。
要显示一个集合,怎么办?
println!("{:?}", string2);
这就可以了。
for i in string2 { println!("{}", i); }
这就可以了
这种方式,是遍历里面的元素。
fn main() { let string1 = String::from("Hello world"); let string2 = string1.split(' '); println!("{:?}", string2); }
这段代码可以打印string2的类型。
#[derive(Debug)] struct Car{ name:String, } fn main() { let car1 = Car{ name:String::from("BMW"), }; println!("{:?}", car1); }