在跨平台移动应用程序开发的过程中,我遇到了 Golang,它有一个 GoMobile 命令行工具,可以生成语言绑定,从而可以从 Java 和 Objective-C 调用 Go 函数。但是,此处记录的导出函数/方法中使用的类型有一些限制:https ://godoc.org/golang.org/x/mobile/cmd/gobind#hdr-Type_restrictions
因此,有关在导出函数中使用的数据类型中支持结构切片(结构数组)的工作的任何想法
在跨平台移动应用程序开发的过程中,我遇到了 Golang,它有一个 GoMobile 命令行工具,可以生成语言绑定,从而可以从 Java 和 Objective-C 调用 Go 函数。但是,此处记录的导出函数/方法中使用的类型有一些限制:https ://godoc.org/golang.org/x/mobile/cmd/gobind#hdr-Type_restrictions
因此,有关在导出函数中使用的数据类型中支持结构切片(结构数组)的工作的任何想法
我认为目前没有人从事 gomobile 切片接口实现。您可能想检查这个便利项目。
https://github.com/scisci/go-mobile-collection
这是一个简单的示例,您可以在没有任何项目的情况下在外部共享切片:
type MyType struct {
Id int64
Name string
}
var (
items []MyType
)
func GetItemsCount() int {
return len(items)
}
func GetItem(i int) *MyItem {
if i >= 0 && i < len(items) {
return &items[i]
}
return nil
}
在线程的情况下,我通常在代码中添加互斥锁。
我们共享我们的业务逻辑(我们可以从移动原生代码中移出的所有内容)并且它运行良好。gomobile 1.13
在bind
模式下使用。只有一种适用于 iOS/Android 有效跨平台开发的 WORKING 解决方案。React 很好,但需要更多空间。真的很喜欢 Swift,但是移动应用程序中大约 40mb 的 lib deps 杀死了它。在我们的应用程序中使用它:https ://play.google.com/store/apps/details?id=com.lonje和即将发布的 iOS 版本:https ://apps.apple.com/us/app/lonje-anonymous-聊天视频/id1215525783