在 Golang 应用程序中使用 Couchbase Lite(不是 Couchbase Server)

Using Couchbase Lite (not Couchbase Server) in a Golang application

我想知道是否有人曾尝试在 Golang 应用程序中使用 Couchbase Lite(不是 Couchbase Server)。换句话说,将其构建为 Golang 二进制文件?

我偶然发现了这个库 Couchbase Lite Core 并且通过快速阅读,它看起来像是 Couchbase Lite 的基础库(我的观点是正确的)?我找不到的是如何使用它。

有没有人试过用 cgo 之类的东西来完成这项工作?我希望将其静态构建到应用程序中,以便在分发时没有依赖性。

我没有尝试嵌入 Couchbase Lite,但我和我的团队广泛使用嵌入式数据存储,例如 BoltDB 假设您没有大量使用 Couchbase 的复制功能,BoltDB 可能会满足您的要求。

Lite Core 是即将推出的 Couchbase Lite 2.0 版本的底层实现。它仍在开发中。目的是拥有一个共同的核心,在顶部具有特定于平台和语言的绑定。

据我所知,目前没有 Go 实现。 cgo 看起来确实是一个选项。鉴于 Lite Core 的目标是成为所有平台的底层实现,从表面上看,这似乎是一种合理的方法。

如果您有兴趣,https://github.com/couchbaselabs 上有一个 GitHub 社区项目帐户。如果你在这方面工作,把它包含在那里会很棒。

要查看平台集成示例,请查看 https://github.com/couchbase/couchbase-lite-ios/tree/feature/2.0