获得徽章 27
#与A-SOUL一起成为更好的自己# 夏天去海边,下雨-淋雨-出太阳,无限循环
#每天一个知识点# 迭代器是一个表示数据流的对象,当我们调用next()方法时会返回容器中的下一个值
迭代器中包含__iter__和__next__()方法。通过__iter__方法可以返回迭代器对象本身的方法。__next__()方法会使cur指针始终指向当前位置,即返回容器中的下一个值,如果容器中没有更多元素了,则会抛出StopIteration异常。
迭代器(iterator)也是可迭代的对象(iterable)
#与A-SOUL一起成为更好的自己# 南澳岛没什么好玩的,能不来还是别来,累的一批,基本都在车上。
#每天一个知识点# 一个小知识
GO 语言组合使用方式
1 垂直组合 - 通过类型嵌入的方式实现组合,实现方法实现的复用、接口定义重用等。
接口嵌入接口
结构体中嵌入接口
结构体中嵌入结构体
2 水平组合
做为函数的参数
通过包裹函数的方式 -- (例如可以链式调用)
通过适配器的方式 -- (适配器的设计模式)
作为中间件的方式
#与A-SOUL一起成为更好的自己# 隔一段时间没有练引体向上了,慢慢的捡起来还有点费劲儿
#与A-SOUL一起成为更好的自己#
牙膏已经忘记买第二天了,每次出门都忘,可恶啊啊啊啊啊啊啊
#与A-SOUL一起成为更好的自己# 7月了,已经开始步入下半年了。去做一些更加有意义的事情。
#每天一个知识点# 一个小知识,GO语言如何提高代码的可测试性
1 GO 语言里面写单元测试非常简单,但是很多时候我们写的业务代码与外部系统是耦合的,例如发短信,咱们单测的时候可能会因为咱们每测试一次都要去给真实的手机号发短信而不做单元测试
2 实际上将发送短信的动作作为我们自定义接口的一个方法,就可以很好的解决这个问题,单测的时候,定义一个 Fake 实例去实现接口的发送短信方法即可,其余部分完全就可以按照业务代码的逻辑来
#每天一个知识点# 一个小知识,GO 语言中是 对于 receiver 的选择影响有三个因素
1. 考虑是否需要修改 T 内部成员的值
2. 考虑性能和空间消耗问题
3. 还需要考虑 receiver 是否需要赋值给 接口类型的变量,若需要,则需要 receiver 类型实现接口类型的所有方法集合
#与A-SOUL一起成为更好的自己# 早睡早起,早上才有时间晨练,这几天都没及时起床,晨练基本就废弃了
下一页