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

adobe网站制作软件aso关键词优化工具

adobe网站制作软件,aso关键词优化工具,假冒彩票网站开发,html的基本结构文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 需求2.2 代码2.3 类图 1. 概念 迭代器(Iterator)能够在不暴露聚合体内部表示的情况下,向客户端提供遍历聚合元素的方法。 1.1 角色 InterfaceAggregate(抽象聚合)…

文章目录

  • 1. 概念
    • 1.1 角色
    • 1.2 类图
  • 2. 代码示例
    • 2.1 需求
    • 2.2 代码
    • 2.3 类图

1. 概念

迭代器(Iterator)能够在不暴露聚合体内部表示的情况下,向客户端提供遍历聚合元素的方法。

1.1 角色

  • InterfaceAggregate(抽象聚合):定义存储、添加、删除聚合元素以及创建迭代器对象的接口
  • ConcreteAggregate(具体聚合):实现抽象聚合类。它的方法可以返回一个具体迭代器的实例
  • Iterator(抽象迭代器):定义访问和遍历聚合元素的接口,通常包含 hasNext()、next() 等方法
  • Concretelterator(具体迭代器):实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置。

1.2 类图

Client
«interface»
Iterator
+HasNext() : bool
+First()
+IsDone()
+Next() : interface
+CurrentItem()
«interface»
Aggregate
+CreateIterator() : Iterator
ConcreteIterator
+HasNext() : bool
+First()
+IsDone()
+Next() : interface
+CurrentItem()
ConcreteAggregate
+CreateIterator() : Iterator

2. 代码示例

2.1 需求

实例化一个具体聚合,创建一个迭代器实例,用迭代器遍历这个聚合。

迭代器通常还会有查看首元素、尾元素、指针位置等方法,有兴趣可以自己试一下,这个简单示例里不写了。

2.2 代码

  • 代码
package mainimport "fmt"// 定义抽象迭代器
type Iterator interface {HasNext() boolNext() interface{}
}// 定义具体迭代器
type ConcreteIterator struct {//它关联具体聚合aggregate *ConcreteAggregateindex     int
}// 定义方法,查看迭代是否结束
func (i *ConcreteIterator) HasNext() bool {return i.index < len(i.aggregate.items)
}// 定义方法,返回下一个节点
func (i *ConcreteIterator) Next() interface{} {if i.HasNext() {item := i.aggregate.items[i.index]i.index++return item}return nil
}// 定义抽象聚合
type Aggregate interface {CreateIterator() IteratorAddItem(item interface{})
}// 定义具体聚合
type ConcreteAggregate struct {items []interface{}
}// 定义方法,创建迭代器
func (a *ConcreteAggregate) CreateIterator() Iterator {return &ConcreteIterator{aggregate: a}
}// 定义方法,添加item(为了测试方便,和迭代器方法无关)
func (a *ConcreteAggregate) AddItem(item interface{}) {a.items = append(a.items, item)
}func main() {//实例化一个聚合,加入三个Item,他们的类型可以不同var aggregate Aggregateaggregate = &ConcreteAggregate{}aggregate.AddItem("Item 1")aggregate.AddItem(2)aggregate.AddItem("Item 3")//实例化一个迭代器iterator := aggregate.CreateIterator()//验证结果for iterator.HasNext() {item := iterator.Next()fmt.Println(item)}
}
  • 输出
Item 1
2
Item 3

2.3 类图

Client
«interface»
Iterator
+HasNext() : bool
+Next() : interface
«interface»
Aggregate
+CreateIterator() : Iterator
+AddItem(item:interface)
ConcreteIterator
+*ConcreteAggregate aggregate
+Int index
+HasNext() : bool
+Next() : interface
ConcreteAggregate
+[]interface items
+CreateIterator() : Iterator
+GetItem(index int) : interface
+AddItem(item interface)

在这里插入图片描述

http://www.hrbkazy.com/news/20185.html

相关文章:

  • 建设工程信息网站成都短视频代运营
  • 网站收录慢官方网站百度一下
  • 会网站开发 不会软件重庆网络推广公司
  • 从seo角度做网站流量企业网站推广建议
  • 做的视频发到哪个网站营销策划方案怎么写?
  • 石家庄哪里做网站做一个网站的步骤
  • 做任务网站有哪些内容查询网址域名
  • 佛山网站建设服务百度推广怎么赚钱
  • 办公软件江西短视频seo搜索报价
  • 网站建设的方案费用百度seo怎么把关键词优化上去
  • 帮别人做网站必须要开公司seo技术培训中心
  • wordpress 影院酒店seo是什么意思
  • 网站后台如何做产品展示seo项目经理
  • 今题网免费发布信息网武汉seo网站优化
  • 商业空间设计案例ppt模板seo公司是什么意思
  • BBS推广网站的步骤亚马逊开店流程及费用
  • 公司网站代码如何开网站详细步骤
  • 网站建设 三合一中国站长素材网
  • 网站建设需要经历什么步骤绍兴seo推广公司
  • 网站备案行业如何推广店铺呢
  • 怎样制作网站二维码百度统计流量研究院
  • 临时域名用于网站调试餐饮管理和营销方案
  • 网站怎么做地区屏蔽js黑帽seo培训网
  • 成品网站货源入口外链网站推荐
  • 有没有专业做网站的泰州seo排名扣费
  • 网站前端设计公司站外推广方式
  • 做商城网站还要服务器厦门seo
  • 北京 网站建设 公百度提交网站的入口地址
  • 现在pc网站的标准一般是做多大杭州网站推广优化
  • 福建有没有网站做鞋子一件代发杭州网站推广与优化