Метод list.List.Front
Метод Front структуры list.List возвращает первый элемент списка.
Он не изменяет сам список и возвращает указатель на структуру list.Element.
Если список пуст, метод возвращает nil.
Этот метод часто используется для получения головного элемента при обходе списка с начала.
Синтаксис
func (l *List) Front() *Element
Пример
Создадим список и добавим в него несколько элементов. Затем получим первый элемент и выведем его значение:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
l.PushBack(1)
l.PushBack(2)
l.PushBack(3)
first := l.Front()
if first != nil {
fmt.Println(first.Value)
}
}
Результат выполнения кода:
1
Пример
Проверим поведение метода на пустом списке.
В этом случае Front вернет nil:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
first := l.Front()
if first == nil {
fmt.Println("empty list")
} else {
fmt.Println(first.Value)
}
}
Результат выполнения кода:
"empty list"
Пример
Получим первый элемент и модифицируем его значение. Обратите внимание, что через указатель мы можем изменять данные внутри элемента:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
l.PushBack("a")
l.PushBack("b")
l.PushBack("c")
first := l.Front()
if first != nil {
first.Value = "z"
}
for e := l.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
Результат выполнения кода:
"z"
"b"
"c"
Смотрите также
-
метод
list.List.Back,
который возвращает последний элемент списка -
метод
list.List.PushFront,
который добавляет элемент в начало списка -
метод
list.List.MoveToFront,
который перемещает существующий элемент в начало -
структуру
list.Element,
которая представляет элемент списка