如何解决Go语言的可可绑定
| 是否可以在Google Go中编写macOS / Cocoa应用程序? 有Go-Obj-C桥吗? (在我看来,Obj-C动态性非常适合Golang的界面) 我能否至少将两者链接在一起,并通过普通的C函数使它们彼此对话?解决方法
您可以以我的博客文章为例。恐怕我没有继续努力,但是这里的源代码可以帮助您设置裸露的Cocoa / ObjC / Go项目。
如自述文件所述,您将能够执行类似的操作。
package main
import (
\"github.com/alediaferia/gogoa\"
)
func main() {
app := gogoa.SharedApplication()
window := gogoa.NewWindow(0,200,200)
window.SetTitle(\"Gogoga!\")
window.MakeKeyAndOrderFront()
app.Run()
}
, CGo使您能够调用C代码。
请参阅CGo文档和内容丰富的官方博客文章。
似乎还没有可可绑定/库,但是您可能想查看GTK软件包以供参考。
, 目前似乎还没有用于将Cocoa绑定到Go的程序包。 Cocoa用Objective-C编写,Objective-C是C的超集。Objective-C消息被编译器翻译成C函数调用(或至少过去对现代编译器不确定)。
objc_msgSend(object,sel_getUid(\"foo:bar:err:\"),var,var2,errVar);
因此,绝对有可能使用Go中的Cocoa。
如果您发现自己想在Go应用中使用Cocoa的问题,恕我直言,请退后一步,思考您要解决的问题。可可大量使用命名参数,方法可能具有很长的签名。这在Objective-C中效果很好,但是我怀疑代码在Go中看起来会一样好。另一方面,Go解决了另一组问题。也许用Go编写库(应用程序逻辑),然后在Objective-C / Cocoa中编写GUI代码会成功吗?
TL; DR:如何在Go中编写模型并在Objective-C中编写GUI代码?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。