add example for stack entry

This commit is contained in:
Jian Han 2018-04-14 22:05:00 +10:00
parent 57942eb8a0
commit 39f2be3c13

View File

@ -0,0 +1,36 @@
package main
import "fmt"
type stackEntry struct {
next *stackEntry
value interface{}
}
type stack struct {
top *stackEntry
}
func (s *stack) Push(v interface{}) {
var e stackEntry
e.value = v
e.next = s.top
s.top = &e
}
func (s *stack) Pop() interface{} {
if s.top == nil {
return nil
}
v := s.top.value
s.top = s.top.next
return v
}
func main() {
s := &stack{}
s.Push("one")
s.Push("two")
s.Push("three")
fmt.Printf("%#v", s)
}