首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Go语言的可可绑定

Go语言的可可绑定
EN

Stack Overflow用户
提问于 2011-06-12 21:25:40
回答 3查看 8.5K关注 0票数 34

可以在Google Go中编写macOS/Cocoa应用程序吗?

有Go-Obj-C桥吗?(在我看来,Obj-C的动态性非常适合Golang的接口)

我至少可以将两者链接在一起,让它们通过普通的C函数相互通信吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-02 22:38:11

你可以看看my blog post as an example。恐怕我没有一直在做这个项目,但是这里的the source code可以帮助你设置一个空的Cocoa/ObjC/Go项目。

正如自述文件中所提到的,您将能够做这样的事情。

代码语言:javascript
复制
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()
}
票数 2
EN

Stack Overflow用户

发布于 2011-06-12 21:58:47

CGo使您能够调用C代码。

请参阅official blog post on itCGo doc和信息性文档。

似乎还没有可可绑定/库,但您可能希望查看GTK package以供参考。

票数 11
EN

Stack Overflow用户

发布于 2013-04-15 17:24:40

现在似乎还没有绑定Cocoa to Go的包。Cocoa是用Objective-C编写的,Objective-C是C的超集。Objective-C消息被编译器翻译成C函数调用(或者至少过去是这样,对现代编译器不太确定),如下所示:

代码语言:javascript
复制
objc_msgSend(object, sel_getUid("foo:bar:err:"), var, var2, errVar);

因此,在Go中使用Cocoa绝对是可能的。

如果你遇到一个问题,你发现你想在Go应用程序中使用Cocoa,我会退后一步,思考你试图解决的问题。Cocoa大量使用了命名参数,方法可以有相当长的签名。这在Objective-C中工作得很好,但我怀疑代码在Go中会看起来一样好。另一方面,Go解决了另一组问题。也许用Go编写一个库(应用程序逻辑),用Objective-C/Cocoa编写GUI代码就可以了?

TL;DR:用Go编写模型,用Objective-C编写图形用户界面代码怎么样?

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6322194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档