Стек: push = append(s, x), pop = s[len(s)-1], s = s[:len(s)-1]. Очередь: на слайсе сдвиг при pop неэффективен; лучше кольцевой буфер или два стека. container/list подходит для очереди. В Go часто используют каналы как очередь горутин (блокирующая очередь). Для приоритетной очереди - heap из container/heap.
// stack
stack = append(stack, v)
v := stack[len(stack)-1]
stack = stack[:len(stack)-1]
// channel as queue
ch := make(chan T, 100)
ch <- v
v := <-ch