Метод ring.Ring.Len

Метод ring.Ring.Len возвращает количество элементов в кольцевом списке. Он не принимает никаких параметров и возвращает значение типа int — число элементов в кольце. Если кольцо пустое, метод вернет 0.

Синтаксис

gor.Len()

Пример

Давайте создадим кольцевой список из трех элементов и получим его длину:

gopackage main

import (
  "container/ring"
  "fmt"
)

func main() {
  r := ring.New(3)

  for i := 0; i < r.Len(); i++ {
    r.Value = i + 1
    r = r.Next()
  }

  length := r.Len()
  fmt.Println(length)
}

Результат выполнения кода:

go3

Пример

Давайте проверим длину пустого кольцевого списка:

gopackage main

import (
  "container/ring"
  "fmt"
)

func main() {
  r := ring.New(0)

  length := r.Len()
  fmt.Println(length)
}

Результат выполнения кода:

go0

Пример

Давайте используем метод Len для проверки длины кольца после выполнения операций связывания:

gopackage main

import (
  "container/ring"
  "fmt"
)

func main() {
  r1 := ring.New(2)
  r2 := ring.New(3)

  for i := 0; i < r1.Len(); i++ {
    r1.Value = i + 1
    r1 = r1.Next()
  }

  for i := 0; i < r2.Len(); i++ {
    r2.Value = (i + 1) * 10
    r2 = r2.Next()
  }

  r1.Link(r2)

  fmt.Println(r1.Len())
}

Результат выполнения кода:

go5

Смотрите также

  • метод ring.Ring.Next,
    который возвращает следующий элемент кольцевого списка
  • метод ring.Ring.Prev,
    который возвращает предыдущий элемент кольцевого списка
  • метод ring.Ring.Move,
    который перемещает указатель на заданное количество шагов
  • метод ring.Ring.Do,
    который применяет функцию ко всем элементам кольца