func (it *Iterator) Key() []byte {
	var klen C.size_t
	kdata := C.leveldb_iter_key(it.Iter, &klen)
	if kdata == nil {
		return nil
	}
	return C.GoBytes(unsafe.Pointer(kdata), C.int(klen))
}
Key returns a copy the key in the database the iterator currently holds.

If Valid returns false, this method will panic.
package levigo
import "C"
import (
	"unsafe"
)
type IteratorError string
func (e IteratorError) Error() string {
	return string(e)
}
type Iterator struct {
	Iter *C.leveldb_iterator_t
}
func (it *Iterator) Valid() bool {
	return ucharToBool(C.leveldb_iter_valid(it.Iter))
}