rust里很多地方都有map的身影
Ref::map从借用的数据的字段
创建并返回一个ref类型的指针
当你的表达式需要临时变量的时候
这个map是很好的替代
是可以直接用的结构函数
RefMut::map除了和上面的一样
还可以对返回的指针
解构然后赋值修改
还有filter_map
返回result类型而不是ref类型
需要UNwrap才可以得到数据
iter的map
则和上面的map功能有所不同
这种差异和replace类似
它相当于for循环
惰性的把一个iter转换成另一个
array也有map
不过对于数据量大的array
建议用iter方法
转换成iter再map
可以获得性能优化
option的map
可以把一种类型的option
转换成另一种
option也提供map_or
用于转换的时候
用提供的值替换存在的none
以及map_or_else方法
提供一个默认函数
用于得出默认值来替换none
如果存在的数据不是none
就用第二个函数进行map
option的and_then方法
相当于flatmap
它不会替换none
但是返回的是option类型
可以在需要判断当前数据
是否为空的时候
这个方法很有用
省了判断
可以直接map数据
你熟悉的Java,Python,C语言,C#语言里都是怎么处理引用的呢
好了,你是不是了解了这其中的内涵了呢,下次见,欢迎关注交流。