code: func (ch *Channel) QueueDelete(name string, ifUnused, ifEmpty, noWait bool) (int, error) {
  	req := &queueDelete{
  		Queue:    name,
  		IfUnused: ifUnused,
  		IfEmpty:  ifEmpty,
  		NoWait:   noWait,
  	}
  	res := &queueDeleteOk{}
  
  	err := ch.call(req, res)
  
  	return int(res.MessageCount), err
  }
docs: /*
  QueueDelete removes the queue from the server including all bindings then
  purges the messages based on server configuration, returning the number of
  messages purged.
  
  When ifUnused is true, the queue will not be deleted if there are any
  consumers on the queue.  If there are consumers, an error will be returned and
  the channel will be closed.
  
  When ifEmpty is true, the queue will not be deleted if there are any messages
  remaining on the queue.  If there are messages, an error will be returned and
  the channel will be closed.
  
  When noWait is true, the queue will be deleted without waiting for a response
  from the server.  The purged message count will not be meaningful. If the queue
  could not be deleted, a channel exception will be raised and the channel will
  be closed.
  
  */