upgrade sqlite3

This commit is contained in:
sentriz
2020-04-24 23:14:59 +01:00
parent 13427e77d2
commit f52ce807af
40 changed files with 48 additions and 129 deletions

View File

@@ -0,0 +1,61 @@
package stack
import (
"fmt"
"strings"
"go.senan.xyz/gonic/server/db"
)
type item struct {
value *db.Album
next *item
}
type Stack struct {
top *item
len uint
}
func (s *Stack) Push(v *db.Album) {
s.top = &item{
value: v,
next: s.top,
}
s.len++
}
func (s *Stack) Pop() *db.Album {
if s.len == 0 {
return nil
}
v := s.top.value
s.top = s.top.next
s.len--
return v
}
func (s *Stack) Peek() *db.Album {
if s.len == 0 {
return nil
}
return s.top.value
}
func (s *Stack) PeekID() int {
if s.len == 0 {
return 0
}
return s.top.value.ID
}
func (s *Stack) String() string {
var str strings.Builder
str.WriteString("[")
for i, f := uint(0), s.top; i < s.len; i++ {
str.WriteString(fmt.Sprintf("%d, ", f.value.ID))
f = f.next
}
str.WriteString("]")
return str.String()
}