当前位置: 首页 > news >正文

欢迎访问中国建设银行网站密码重置如何建导航网站

欢迎访问中国建设银行网站密码重置,如何建导航网站,上海网站seo设计,建投商务网官网迭代器模式#xff1a;也叫作游标模式#xff0c;能在不暴露复杂数据结构内部细节的情况下遍历其中所有的元素。在迭代器的帮助下#xff0c; 客户端可以用一个迭代器接口以相似的方式遍历不同集合中的元素。 当集合背后为复杂的数据结构#xff0c;且希望对客户端隐藏其复…迭代器模式也叫作游标模式能在不暴露复杂数据结构内部细节的情况下遍历其中所有的元素。在迭代器的帮助下 客户端可以用一个迭代器接口以相似的方式遍历不同集合中的元素。 当集合背后为复杂的数据结构且希望对客户端隐藏其复杂性时 出于使用便利性或安全性的考虑或希望代码能够遍历不同的甚至是无法预知的数据结构 可以使用迭代器模式 Iterator 接口 这个接口会定义一些基础的操作函数如hasNext()或getNext()等。通过名称就可以看出这些方法可以帮助我们执行遍历集合、重启迭代等操作。Collection 接口 这个接口代表了要被遍历的集合。在这个接口里定义了一个createIterator方法该方法会返回一个Iterator的实例。Concrete Iterator Iterator接口的具体实现类。Concrete Collection Collection接口的具体实现类。客户端 Client通过集合和迭代器的接口与两者进行交互。 这样一来客户端无需与具体类进行耦合 允许同一客户端代码使用各种不同的集合和迭代器。 迭代器接口 type Iterator interface {hasNext() boolgetNext() *User }集合接口 type Collection interface {createIterator() Iterator }用户类 type User struct {name stringage int }用户集合数据结构 type UserCollection struct {users []*User }// 实现集合接口 func (u *UserCollection) createIterator() Iterator {return UserIterator{users: u.users,} }实现迭代器接口 type UserIterator struct {index intusers []*User }func (u *UserIterator) hasNext() bool {if u.index len(u.users) {return true}return false} func (u *UserIterator) getNext() *User {if u.hasNext() {user : u.users[u.index]u.indexreturn user}return nil }main函数 func main() {user1 : User{name: a,age: 30,}user2 : User{name: b,age: 20,}userCollection : UserCollection{users: []*User{user1, user2},}iterator : userCollection.createIterator()for iterator.hasNext() {user : iterator.getNext()fmt.Printf(User is %v\n, user)} }结果 User is {name:a age:30} User is {name:b age:20}迭代器模式在平时编程的时候使用的并不多像Java、C#编程时都自带了迭代器模式的实现也支持实现语言内置的Iterator接口来给自定义集合创建迭代器。
http://www.zqtcl.cn/news/362696/

相关文章:

  • 杭州做网站的科技公司永川做网站的公司
  • 动物自己做的网站网站优化外包公司
  • 企业网站建设的三种方式并举例手机wap网站是什么
  • 做深圳门户网站起什么名字好建设网站对公司起什么作用是什么
  • 长春企业网站设计建设公司资质查询官网
  • 医疗网站前置审批查询免费网站建设可信赖
  • 摄影师个人网站模板宝坻集团网站建设
  • 比较多人用什么网站做推广wordpress数据库表管理系统
  • 网页开发和游戏开发东莞优化怎么做seo
  • 北京网站搭建开发高级网页设计教程
  • 北京南站是中高风险地区吗网站建设上机实验心得
  • 大学生做兼职的网站有哪些免费行情软件网站有哪些
  • 静安手机网站建设常见的网络营销方法及其效果
  • 怎么改版网站湖南长沙地图
  • 中卫网站推广公司如何自创app软件
  • 无棣网站建设电子商务网站设计原理书籍
  • 做t-shirt素材网站企业网站建设结论
  • 唐山公司做网站查询建筑资质的网站
  • 邯郸的网站建设网站正能量入口
  • 网站导航栏最多可以做几个宝安网站设计排名
  • 自己怎样用手机建网站网件app
  • 周口网站开发西安市建设厅网站
  • 怎么授权小说做游戏网站论坛网站开发语言
  • 烟台商城网站建设怎么样引流顾客到店方法
  • 北京做网站公司的排名python基础教程pdf
  • 网站建设为什么学flash建设工程询价网站有哪些
  • 网站内容建设机制企业管理模式有哪些
  • 中山网站建设文化价格建网站域名注册
  • 手机电影网站怎么做大连最新发布
  • 珠三角网站建设网页制作专业知识