Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go语言的Cocoa绑定_Cocoa_Go_Cocoa Bindings_Scripting Bridge - Fatal编程技术网

Go语言的Cocoa绑定

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消息(或至少过去是这样,对现

可以在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函数调用,如下所示:

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示例链接已失效,这里的链接已存档