关于rust for example中的一些小疑问
1、关于impl std::fmt::Display for List(自己定义的结构){..}是否可以理解为,在Display方法下新建对于List类型的处理?原理是不是遇到{}自动判断参数类型,调用Display对应类型的函数啊...这是不是所谓的语法糖?
2、之中有个例子 let vec = &self.0; 这是不是类似与c语言中取数组首地址?(不太确定以以前的思考方式来思考rust的逻辑是不是对的)
3、打印一个数,能不能在转为十六进制的同时保留两位数,不足补零啊...只会分两步搞
1
共 5 条评论, 1 页
评论区
写评论好的~我去康康,谢谢啦 对以下内容的回复:
这是
trait
。Formatting-traits 有说,输出格式为{}
时,参数类型需要实现std::fmt::Display
;输出格式为{:p}
,就需要实现std::fmt::Pointer
。格式化参数https://doc.rust-lang.org/std/fmt/#formatting-parameters。后面那个是迭代器原文在这里https://doc.rust-lang.org/rust-by-example/hello/print/print_display/testcase_list.html 对以下内容的回复:
那个例子后面紧接着就使用了 for (count, v) in vec.iter().enumerate() 所以感觉有点像c语言的取首地址... 不知道该怎么理解他是怎么调用元组里其他元素的,如果不是取首地址的话 对以下内容的回复:
self.0这种用法,一般可以用于元组结构体,表示取该结构第一个元素的内容