Golang中的ring.Link()函数用于连接两个环r和s环。next()函数将环r的最后一个节点连接到环s的第一个节点,因此r.next()不能为空。否则,将引发错误。它的工作方式类似于循环链表。
用法:
func (r *Ring) Link(s *Ring) *Ring
它不返回任何东西。
范例1:
// Golang program to illustrate
// the ring.Link() function
package main
import (
"container/ring"
"fmt"
)
// Main function
func main() {
// Create two rings, a and b, of size 2
a:= ring.New(4)
b:= ring.New(4)
// Get the length of the ring
m:= a.Len()
n:= b.Len()
// Initialize a with 0s
for j:= 0; j < m; j++ {
a.Value = 0
a = a.Next()
}
// Initialize b with 1s
for i:= 0; i < n; i++ {
b.Value = 1
b = b.Next()
}
// Link ring a and ring b
ab:= a.Link(b)
ab.Do(func(p interface{}) {
fmt.Println(p.(int))
})
}
输出:
0 0 0 0 1 1 1 1
范例2:
// Golang program to illustrate
// the ring.Link() function
package main
import (
"container/ring"
"fmt"
)
// Main function
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 "GFG"
for i:= 0; i < lr; i++ {
r.Value = "GFG"
r = r.Next()
}
// Initialize s with "COURSE"
for j:= 0; j < ls; j++ {
s.Value = "COURSE"
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 interface{}) {
fmt.Println(p.(string))
})
}
输出:
GFG GFG COURSE COURSE
相关用法
- Golang math.Lgamma()用法及代码示例
- Golang math.Float64bits()用法及代码示例
- Golang atomic.AddInt64()用法及代码示例
- Golang atomic.StoreInt64()用法及代码示例
- Golang reflect.FieldByIndex()用法及代码示例
- Golang string.Contains用法及代码示例
- Golang bits.Sub()用法及代码示例
- Golang io.PipeWriter.CloseWithError()用法及代码示例
- Golang time.Round()用法及代码示例
- Golang reflect.AppendSlice()用法及代码示例
- Golang reflect.ChanOf()用法及代码示例
- Golang flag.Bool()用法及代码示例
- Golang time.Sleep()用法及代码示例
- Golang time.Time.Year()用法及代码示例
- Golang reflect.DeepEqual()用法及代码示例
- Golang reflect.Indirect()用法及代码示例
- Golang reflect.CanAddr()用法及代码示例
- Golang reflect.CanInterface()用法及代码示例
- Golang reflect.CanSet()用法及代码示例
- Golang reflect.Cap()用法及代码示例
注:本文由纯净天空筛选整理自vipinyadav15799大神的英文原创作品 ring.Link() Function in Golang With Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。