前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang container/ring 环形链表

Golang container/ring 环形链表

原创
作者头像
用户2825890
发布2022-12-11 15:37:51
3050
发布2022-12-11 15:37:51
举报
文章被收录于专栏:点滴随笔点滴随笔

特性

1、长度固定;

2、向链表写入数据量超过链表总长度时,会从根节点开始覆盖数据;

3、指针向下移动操作,无向上操作。

4、遍历链表ring.Do(f func(interface{}))

代码语言:javascript
复制
 import "container/ring"
 ...
 r := ring.New(10)

 for i := 0; i < 20; i++ {
     r.Move(i).Value = i
 }
 r.Do(func(i interface{}) {
     fmt.Println(i)
 })
 

结果:

代码语言:javascript
复制
10
11
12
13
14
15
16
17
18
19

环形链表适于接收固定大小的数据的队列,比如限流。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档