GO语言学习——简单的key-valeu数据库的实现

zhenxing1114 · · 1547 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

写一个简单的key-value数据库,实现下面几个接口。
db:new() => Db.
db:destroy(Db) => ok.
db:write(Key, Element, Db) => NewDb.
db:delete(Key, Db) => NewDb.
db:read(Key, Db) =>{ok, Element} | {error, instance}.
db:match(Element, Db) => [Key1, ..., KeyN].

例子:
1> c(db).
{ok,db}
2> Db = db:new().
[]
3> Db1 = db:write(111,222, Db).
[{111,222}]
4> Db2 = db:write(333, 444, Db1).
[{333,444},{111,222}]
5> db:read(111, Db2).
{ok,222}
6> Db3 = db:write(555, 444, Db2).
[{555,444},{333,444},{111,222}]
7> db:read(ola, Db3).
{error,instance}
8> db:match(444, Db3).
[555,333]
9> Db4 = db:delete(333, Db3).
[{555,444},{111,222}]
10> db:match(444, Db4).
[555]


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:zhenxing1114

查看原文:GO语言学习——简单的key-valeu数据库的实现

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1547 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传