Hello guys, I have recently written a library implementing self-organizing list in Go language. This was a part of my experiments with Go . Go indeed is a very awesome language to learn. Some of the good things about Go is that it's very fast as this is a compiled language. And it has some inbuild strict checking so this will basically force you to write good quality code with no unused variables and all. Go also has standard libraries for unit test and benchmarking which is very simple to implement. So basically you won't need to look for compatible libraries for creating benchmarks and writing test cases for your projects. So now coming to our topic self-organizing list. The self-organizing list is a kind of self-learning list which will rearrange its elements based on their usage to improve their average access time. The aim of the self-organizing list is to improve the efficiency of linear search by moving more frequently accessed items towards the head of the list.