Функция ShowAllSongs работает неправильно. Первая песня не отображается, если она существует. Кроме того, возврат ошибок в этих функциях является избыточным.

Вы можете переписать его примерно так:

func (p * playlist) showAllSongs () {
currentSong: = p.head
if currentSong == nil {
fmt.Println («ваш список пуст!»)
return
}
для {
fmt.Printf («% + v \ n», * currentSong)
if currentSong.next == nil {
break
}
currentSong = currentSong.next
}
}