code: func (snap *Snapshot) Get(key []byte, ro *opt.ReadOptions) (value []byte, err error) {
  	err = snap.db.ok()
  	if err != nil {
  		return
  	}
  	snap.mu.RLock()
  	defer snap.mu.RUnlock()
  	if snap.released {
  		err = ErrSnapshotReleased
  		return
  	}
  	return snap.db.get(nil, nil, key, snap.elem.seq, ro)
  }
docs: // Get gets the value for the given key. It returns ErrNotFound if
  // the DB does not contains 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.