/linkedlist.go

The first generic linked list in go :dancer:

Primary LanguageGoGNU General Public License v3.0GPL-3.0

linkedlist.go

As you know generics will come to go 1.18 and one of the major drawbacks in go was implementing data structure because of the lack of generics. I implemented a small generic linked list in go and I think we can start having brand new data structures in Go.

gotip

first of all you need to install the master version of golang.

go install golang.org/dl/gotip@latest
gotip download

then you can use the gotip command as your normal go command.

Examples

func main() {
        l := list.New[int]()

        l.PushFront(10)
        l.PushFront(20)
        l.PushFront(40)

        fmt.Println(l)
}
func main() {
        l := list.New[string]()

        l.PushFront("hello")

        fmt.Println(l)
}
func main() {
        l := list.New[int]()

        l.PushFront(10)
        l.PushFront(20)
        l.PushFront(40)
        l.PushFront(42)

        fmt.Println(l)

        s := l.Filter(func(i int) bool {
                return i%10 == 0
        })

        fmt.Println(s)
}

Related Issues