Golang : Iterate linked list example




Alright, you have created a linked list with container/list and now you wonder how are you going to iterate over the elements inside the linked list.

Below is a code fragment from my previous example on how to create a linked list with Go. To iterate over the list elements, use a for loop until all the elements in the list are exhausted. To get the first element, use Front() method and next element with Next() method.

Here you go!

 package main

 import (
  "container/list"
  "fmt"
 )

 func main() {
  // create a new link list
  alist := list.New()

  fmt.Println("Size before : ", alist.Len()) // list size before

  // push element into list
  alist.PushBack("a")
  alist.PushBack("b")
  alist.PushBack("c")

  fmt.Println("Size after insert(push): ", alist.Len()) // list size after

  // iterate over list elements
  for e := alist.Front(); e != nil; e = e.Next() {
 fmt.Println(e.Value.(string))
  }
 }

You play this code at http://play.golang.org/p/WGcldjJavQ

Output :

Size before : 0

Size after insert(push): 3

a

b

c

  See also : Golang : Linked list example





By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.


Advertisement