GO语言"container/ring"包中"Ring.Link"类型的用法及代码示例。
用法:
func(r *Ring) Link(s *Ring) *Ring
链接将环 r 与环 s 连接起来,使得 r.Next() 变为 s 并返回 r.Next() 的原始值。 r 不能为空。
如果 r 和 s 指向同一个环,则链接它们会从环中删除 r 和 s 之间的元素。删除的元素形成一个子环,结果是对该子环的引用(如果没有元素被删除,结果仍然是 r.Next() 的原始值,而不是 nil)。
如果 r 和 s 指向不同的环,则将它们链接起来会创建一个环,其中 s 的元素插入到 r 之后。结果指向插入后 s 的最后一个元素之后的元素。
例子:
package main
import (
"container/ring"
"fmt"
)
func main() {
// Create two rings, r and s, of size 2
r := ring.New(2)
s := ring.New(2)
// Get the length of the ring
lr := r.Len()
ls := s.Len()
// Initialize r with 0s
for i := 0; i < lr; i++ {
r.Value = 0
r = r.Next()
}
// Initialize s with 1s
for j := 0; j < ls; j++ {
s.Value = 1
s = s.Next()
}
// Link ring r and ring s
rs := r.Link(s)
// Iterate through the combined ring and print its contents
rs.Do(func(p any) {
fmt.Println(p.(int))
})
}
输出:
0 0 1 1
相关用法
- GO Ring.Len用法及代码示例
- GO Ring.Unlink用法及代码示例
- GO Ring.Move用法及代码示例
- GO Ring.Prev用法及代码示例
- GO Ring.Next用法及代码示例
- GO Ring.Do用法及代码示例
- GO Regexp.FindString用法及代码示例
- GO Regexp.FindAllIndex用法及代码示例
- GO ResponseRecorder用法及代码示例
- GO ReverseBytes64用法及代码示例
- GO ReverseBytes16用法及代码示例
- GO Regexp.ReplaceAllLiteralString用法及代码示例
- GO Regexp.FindStringSubmatch用法及代码示例
- GO Rows用法及代码示例
- GO Regexp.FindAllString用法及代码示例
- GO ReadMessage用法及代码示例
- GO Regexp.ExpandString用法及代码示例
- GO ResponseWriter用法及代码示例
- GO Regexp.FindAllStringSubmatch用法及代码示例
- GO Reverse用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Ring.Link。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。