Метод list.List.Back

Метод Back структуры list.List возвращает последний элемент списка. Если список пуст, метод возвращает nil. Метод не требует параметров и позволяет получить доступ к хвосту списка за константное время O(1).

Синтаксис

gofunc (l *List) Back() *Element

Пример

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

gopackage main

import (
  "container/list"
  "fmt"
)

func main() {
  l := list.New()
  l.PushBack("a")
  l.PushBack("b")
  l.PushBack("c")

  last := l.Back()
  fmt.Println(last.Value)
}

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

go"c"

Пример

Попробуем получить последний элемент из пустого списка:

gopackage main

import (
  "container/list"
  "fmt"
)

func main() {
  l := list.New()

  last := l.Back()
  fmt.Println(last)
}

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

go<nil>

Как видите, для пустого списка метод возвращает nil.

Пример

Используем полученный элемент для доступа к его значению и для навигации по списку:

gopackage main

import (
  "container/list"
  "fmt"
)

func main() {
  l := list.New()
  l.PushBack(1)
  l.PushBack(2)
  l.PushBack(3)
  l.PushBack(4)

  last := l.Back()
  fmt.Println("Last element value:", last.Value)
  fmt.Println("Previous element value:", last.Prev().Value)
}

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

go"Last element value: 4"
"Previous element value: 3"

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

  • метод list.List.Front,
    который возвращает первый элемент списка
  • метод list.List.PushBack,
    который добавляет элемент в конец списка
  • метод list.List.Len,
    который возвращает количество элементов в списке
  • тип list.Element,
    который представляет элемент списка