// Pop item from stack.
Pop item from stack.
// Pop item from stack .
func (s *Stack) Pop() interface{} {
	s.sem <- 1
	e := s.list.Back()
	if e != nil {
		s.list.Remove(e)
	}
	<-s.sem
	if e != nil {
		return e.Value
	} else {
		return nil
	}
}
func ( s * Stack ) Pop ( ) interface { } { s . sem <- 1 e := s . list . Back ( ) if e != nil { s . list . Remove ( e ) } <- s . sem if e != nil { return e . Value } else { return nil } }
Pop item from stack.
Pop item from stack .