Go语言的Cocoa绑定
可以在Google Go中编写macOS/Cocoa应用程序吗 有Go-Obj-C桥吗?(在我看来,Obj-C Dynamics非常适合Golang的界面)Go语言的Cocoa绑定,cocoa,go,cocoa-bindings,scripting-bridge,Cocoa,Go,Cocoa Bindings,Scripting Bridge,可以在Google Go中编写macOS/Cocoa应用程序吗 有Go-Obj-C桥吗?(在我看来,Obj-C Dynamics非常适合Golang的界面) 我至少可以将这两个函数链接在一起,并让它们通过普通的旧C函数相互通信吗?CGo使您能够调用C代码 请参阅和提供信息的 似乎还没有cocoa绑定/库,但您可能想查看以供参考。目前似乎还没有用于绑定cocoa的软件包。Cocoa是用Objective-C编写的,Objective-C是C的超集。Objective-C消息(或至少过去是这样,对现
我至少可以将这两个函数链接在一起,并让它们通过普通的旧C函数相互通信吗?CGo使您能够调用C代码 请参阅和提供信息的
似乎还没有cocoa绑定/库,但您可能想查看以供参考。目前似乎还没有用于绑定cocoa的软件包。Cocoa是用Objective-C编写的,Objective-C是C的超集。Objective-C消息(或至少过去是这样,对现代编译器不太清楚)由编译器转换为C函数调用,如下所示:
objc_msgSend(object, sel_getUid("foo:bar:err:"), var, var2, errVar);
因此,使用Go的可可粉绝对是可能的
如果你遇到了一个问题,你发现你想在Go应用程序中使用Cocoa,那么我想退一步,想想你试图解决的问题。Cocoa大量使用命名参数,并且方法可能具有相当长的签名。这在Objective-C中运行得很好,但我怀疑代码在Go中是否会看起来一样好。另一方面,Go解决了另一组问题。也许用Go编写库(应用程序逻辑),用Objective-C/Cocoa编写GUI代码就可以了
TL;DR:用Go编写模型,用Objective-C编写GUI代码怎么样?您可以看看。恐怕我没有继续做下去,但这里有一个可以帮助您建立一个简单的Cocoa/ObjC/Go项目
正如自述文件中提到的,你可以做这样的事情
package main
import (
"github.com/alediaferia/gogoa"
)
func main() {
app := gogoa.SharedApplication()
window := gogoa.NewWindow(0, 0, 200, 200)
window.SetTitle("Gogoga!")
window.MakeKeyAndOrderFront()
app.Run()
}
哈哈哈。。。围棋最大的弱点。。。互操作性。?是可可豆,是mac本地的,不是Go。“哈哈哈”什么?“最大弱点”的评论毫无意义。即使是这样,也不会有什么“哈哈哈”。Go有一个优秀的C FFI,并且很容易将Go绑定添加到某些东西上(比许多其他语言,如Java甚至Python更容易)。“cocoa是mac本机的,而不是Go”,实际上Go也是mac本机的。Go编译器是一个本机OSX可执行文件,它生成本机OSX可执行文件。这个帖子里有人知道他们在说什么吗?@porenel在过去一年左右的时间里,关于整合,这方面有什么好运气吗?似乎使用CGo可以构建一个非常有吸引力的包。还应该给出如何使用C调用与Objective CTS接口的想法这正是我正在考虑为一个项目所做的:Cocoa/ObjC for the GUI,用Go编写主模型。你会怎么做?我知道有一个cgo库可以在Go编译器处理的情况下从Go调用C,但我希望有一种方法,例如,用Go编译可执行代码,然后在Xcode中链接到Cocoa中的库。建议?“在Go 1.4周期中,GOOS=android将被引入Go存储库”。如果GOOS=ios也能实现,那就太棒了。因此,可以在GUI中链接go代码Cocoa/ObjC.Blog post示例链接已失效,这里的链接已存档