stack.go
func (s *SegmentStack) Pop() (int64, bool) {
	s.Lock()
	defer s.Unlock()
	if s.Len() == 0 {
		return rootSegment, false
	}
	id := s.s[s.Len()-1]
	s.s = s.s[:s.Len()-1]
	return id, true
}
func (s *SegmentStack) Pop() (int64, bool) {
	s.Lock()
	defer s.Unlock()
	if s.Len() == 0 {
		return rootSegment, false
	}
	id := s.s[s.Len()-1]
	s.s = s.s[:s.Len()-1]
	return id, true
}
func ( s * SegmentStack ) Pop ( ) ( int64 , bool ) { s . Lock ( ) defer s . Unlock ( ) if s . Len ( ) == 0 { return rootSegment , false } id := s . s [ s . Len ( ) - 1 ] s . s = s . s [ : s . Len ( ) - 1 ] return id , true }
// Pop pops a segment id off of the segment stack. It returns false if the stack is empty.
Pop pops a segment id off of the segment stack . It returns false if the stack is empty .