code: func (tr *Transaction) Get(key []byte, ro *opt.ReadOptions) ([]byte, error) {
  	tr.lk.RLock()
  	defer tr.lk.RUnlock()
  	if tr.closed {
  		return nil, errTransactionDone
  	}
  	return tr.db.get(tr.mem.DB, tr.tables, key, tr.seq, ro)
  }
docs: // Get gets the value for the given key. It returns ErrNotFound if the
  // DB does not contains the key.
  //
  // The returned slice is its own copy, it is safe to modify the contents
  // of the returned slice.
  // It is safe to modify the contents of the argument after Get returns.