环包在戈朗
Go 语言提供了一个实现循环列表操作的环形包。要访问环包的功能,您需要借助 import 关键字在程序中导入环包。
| 方法 | 描述 | | 新功能 | 这种方法用于创建 n 个元素的环。 | | 功能(*环)做 | 此方法用于以正向顺序调用环的每个元素上的函数 f。 | | func (*Ring) Len | 此方法用于计算 r 环中的元素数量。 | | 功能(*环)链接 | 这种方法用来连接环 r 和环 s。 | | 功能(*环)移动 | 此方法用于在环中向后移动 n % r.Len()元素(n < 0) or forward (n > = 0),并返回该环元素。 | | 功能(*响铃)下一步 | 此方法用于返回下一个环元素。 | | func (*Ring)预测 | 此方法用于返回前一个环元素。 | | 功能(*环)解除链接 | 此方法用于从给定的环中移除 n % r.Len()元素,从 r.Next()开始。 |
例 1:
// Golang program to illustrate
// the ring.Len() function
package main
import (
"container/ring"
"fmt"
)
// Main function
func main() {
// Creating a new ring of size 5
r_ring := ring.New(5)
// Print out its length
fmt.Println(r_ring.Len())
}
输出:
5
例 2:
// Golang program to illustrate
// the ring.Link() function
package main
import (
"container/ring"
"fmt"
)
// Main function
func main() {
// Create two rings, r1 and r2, of size 3
r1 := ring.New(3)
r2 := ring.New(3)
// Get the length of the ring
lr := r1.Len()
ls := r2.Len()
// Initialize r1 with "GFG"
for i := 0; i < lr; i++ {
r1.Value = "GFG"
r1 = r1.Next()
}
// Initialize r2 with "GOLang"
for j := 0; j < ls; j++ {
r2.Value = "GoLang"
r2 = r2.Next()
}
// Link ring r1 and ring r2
rs := r1.Link(r2)
// Iterate through the combined
// ring and print its contents
rs.Do(func(p interface{}) {
fmt.Println(p.(string))
})
}
输出:
GFG
GFG
GFG
GoLang
GoLang
GoLang
版权属于:月萌API www.moonapi.com,转载请注明出处