github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/ethdb/table.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:38</date> 10 //</624450090580316160> 11 12 13 package ethdb 14 15 type table struct { 16 db Database 17 prefix string 18 } 19 20 //NewTable返回一个数据库对象,该对象在所有键前面加上给定的 21 //字符串。 22 func NewTable(db Database, prefix string) Database { 23 return &table{ 24 db: db, 25 prefix: prefix, 26 } 27 } 28 29 func (dt *table) Put(key []byte, value []byte) error { 30 return dt.db.Put(append([]byte(dt.prefix), key...), value) 31 } 32 33 func (dt *table) Has(key []byte) (bool, error) { 34 return dt.db.Has(append([]byte(dt.prefix), key...)) 35 } 36 37 func (dt *table) Get(key []byte) ([]byte, error) { 38 return dt.db.Get(append([]byte(dt.prefix), key...)) 39 } 40 41 func (dt *table) Delete(key []byte) error { 42 return dt.db.Delete(append([]byte(dt.prefix), key...)) 43 } 44 45 func (dt *table) Close() { 46 //什么都不做;不要关闭底层数据库。 47 } 48