code: func (p *DB) Get(key []byte) (value []byte, err error) {
  	p.mu.RLock()
  	if node, exact := p.findGE(key, false); exact {
  		o := p.nodeData[node] + p.nodeData[node+nKey]
  		value = p.kvData[o : o+p.nodeData[node+nVal]]
  	} else {
  		err = ErrNotFound
  	}
  	p.mu.RUnlock()
  	return
  }
docs: // Get gets the value for the given key. It returns error.ErrNotFound if the
  // DB does not contain the key.
  //
  // The caller should not modify the contents of the returned slice, but
  // it is safe to modify the contents of the argument after Get returns.