?
This document uses PHP Chinese website manual Release
import "container/ring"
概述
索引
封裝環(huán)在圓形列表上執(zhí)行操作。
type Ring
func New(n int) *Ring
func (r *Ring) Do(f func(interface{}))
func (r *Ring) Len() int
func (r *Ring) Link(s *Ring) *Ring
func (r *Ring) Move(n int) *Ring
func (r *Ring) Next() *Ring
func (r *Ring) Prev() *Ring
func (r *Ring) Unlink(n int) *Ring
ring.go
環(huán)是圓形列表或環(huán)的元素。戒指沒有開始或結(jié)束;指向任何環(huán)形元素的指針用作整個環(huán)的參考??窄h(huán)表示為零環(huán)指針。一個環(huán)的零值是一個無零值的單元素環(huán)。
type Ring struct { Value interface{} // 供客戶端使用;未受此庫的影響 // 包含過濾或未導(dǎo)出的字段}
func New(n int) *Ring
新創(chuàng)建了n個元素的環(huán)。
func (r *Ring) Do(f func(interface{}))
按照正向順序在環(huán)的每個元素上調(diào)用函數(shù) f 。如果 f 更改 * r,Do 的行為是不確定的。
func (r *Ring) Len() int
Len 計算環(huán) r 中元素的數(shù)量。它在時間上與元素的數(shù)量成比例地執(zhí)行。
func (r *Ring) Link(s *Ring) *Ring
Link 將 ring 與 ring 連接起來,使 r.Next() 變?yōu)?s 并返回 r.Next() 的原始值。r 不能為空。
如果 r 和 s 指向同一個環(huán),則鏈接它們會從環(huán)中刪除 r 和 s 之間的元素。被刪除的元素形成一個子環(huán),結(jié)果是對該子環(huán)的引用(如果沒有元素被刪除,結(jié)果仍然是 r.Next() 的原始值,而不是 nil)。
如果 r 和 s 指向不同的環(huán),則鏈接它們將創(chuàng)建一個單一的環(huán),并在 r 之后插入 s 的元素。結(jié)果指向插入后 s 的最后一個元素之后的元素。
func (r *Ring) Move(n int) *Ring
Move 在環(huán)中向后(n < 0)或向前(n >= 0)移動 n % r.Len()元素并返回該環(huán)元素。r 不能為空。
func (r *Ring) Next() *Ring
接下來返回下一個環(huán)元素。r 不能為空。
func (r *Ring) Prev() *Ring
上一個返回前一個環(huán)元素。r 不能為空。
func (r *Ring) Unlink(n int) *Ring
取消鏈接會從 r.Next() 開始,從 r 環(huán)中刪除 n%r.Len() 元素。如果n % r.Len() == 0,則 r 保持不變。結(jié)果是被刪除的子環(huán)。r 不能為空。