首页 rust

语言基础篇

函数、闭包与迭代器

函数

函数名使用snake case规范风格

image-20210825200836299.png

这里有三个我写的时候出错的地方:

  • 第五行与第十一行是没有分号的
  • 第六行是有分号的

注意如果一行代码结尾没有分号,这表示这个是一个表达式而不是语句,将会自动返回表达式的值。

参数加返回值

方法

要写在impl块中

image-20210827143630531.png

构造方法+getter+setter

函数指针

就是一个指向函数的指针

image-20210908193301816.png

这里注意一下,如果不规定数据类型,他的数据类型就会是:fn() {hello}而不是函数指针

函数做参数

image-20210908193845652.png

记着第一行的type

函数作返回值

image-20210908194324215.png

这里将op进行了复用

闭包

就是匿名函数

image-20210908194550747.png

闭包可以直接使用同一作用域的变量

image-20210908194814331.png

就比如这个i

迭代器

Iterator trait

两方法:iternext

image-20210908195411561.png

消费器

迭代器不会自动迭代,消费器可以

sum

image-20210908195610782.png

记着规定数据类型

any

image-20210908195825028.png

注意需要比较的数据类型,x只是一个指针

collect

收集成一个新的动态数组

image-20210908200325179.png

将每个加一后变成一个新的动态数组

迭代器适配器

map

对每个元素进行操作

take

image-20210908200659797.png

filter

判断作用

image-20210908201411312.png

rev

反方向迭代

image-20210908230148233.png

zip

将两个迭代器合成一个

image-20210908230405116.png


豆瓣链接:https://book.douban.com/subject/35447165/




文章评论

目录