code: func (k Key) PrefixNext() Key {
  	buf := make([]byte, len([]byte(k)))
  	copy(buf, []byte(k))
  	var i int
  	for i = len(k) - 1; i >= 0; i-- {
  		buf[i]++
  		if buf[i] != 0 {
  			break
  		}
  	}
  	if i == -1 {
  		copy(buf, k)
  		buf = append(buf, 0)
  	}
  	return buf
  }
docs: // PrefixNext returns the next prefix key.
  //
  // Assume there are keys like:
  //
  //   rowkey1
  //   rowkey1_column1
  //   rowkey1_column2
  //   rowKey2
  //
  // If we seek 'rowkey1' Next, we will get 'rowkey1_column1'.
  // If we seek 'rowkey1' PrefixNext, we will get 'rowkey2'.