linkedlist.go
func (list *LinkedList) RemoveBack() (interface{}, bool) {
	list.key.Lock()
	defer list.key.Unlock()

	if list.last == nil {
		return nil, false
	}

	retval := list.last.payload
	list.length--

	if list.length == 0 {
		list.first = nil
	} else {
		node, _ := get(list.first, list.length-1)
		node.next = nil
	}
	return retval, true
}
func (list *LinkedList) RemoveBack() (interface{}, bool) {
	list.key.Lock()
	defer list.key.Unlock()

	if list.last == nil {
		return nil, false
	}

	retval := list.last.payload
	list.length--

	if list.length == 0 {
		list.first = nil
	} else {
		node, _ := get(list.first, list.length-1)
		node.next = nil
	}
	return retval, true
}
func ( list * LinkedList ) RemoveBack ( ) ( interface { } , bool ) { list . key . Lock ( ) defer list . key . Unlock ( ) if list . last == nil { return nil , false } retval := list . last . payload list . length -- if list . length == 0 { list . first = nil } else { node , _ := get ( list . first , list . length - 1 ) node . next = nil } return retval , true }
// RemoveBack returns the entry logically stored at the back of this list and removes it.
RemoveBack returns the entry logically stored at the back of this list and removes it .