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

有GO-OBJ-C桥吗?(在我看来,Obj-C的动态性非常适合Golang的界面)

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

推荐答案

你可以看一下my blog post as an example.恐怕我没有一直在做它,但是这里有the source code个可以帮助你建立一个赤裸裸的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()
}

Go相关问答推荐

如何使用我的 struct 化日志(log)记录格式使人panic ?

在Mac中使用uname获取处理器体系 struct 时,在为AMD64构建Go二进制时出现错误结果

如何在Golang中获取mp3文件的持续时间?

如何给杜松子wine 的路由加上一个名字,比如Laravel ?

戈姆:如何将一对一联系起来?

如何在链接中写入链接

Go:为什么我不能比较 net.Addr

如何使用 go 读取 RDF xml 文件中的 XML 命名空间属性

未实现的 desc = 未知服务 pb.AuthService 我的简单身份验证服务器上出现错误

死锁 - 所有 goroutine 都处于睡眠状态(即使使用等待组)

如何测试 Zerolog 记录器引发类型错误的日志(log)事件?

Kusto Go API 从多个表查询

当我使用 CircleCI 构建 Go Image 时,我得到runtime/cgo: pthread_create failed: Operation not allowed

使用自定义处理程序 nats golang 保留订阅方法

在 Go GRPC 服务器流式拦截器上修改元数据

Golang 数据库/sql 与 SetMaxOpenConns 挂起

如何获取多个 url 参数值

如何使用带有Electron 表格 ID、Electron 表格名称、表格 ID 和值的 golang 在 googlesheet 中插入数据

为什么在 goroutine 中声明时,benbjohnson/clock 模拟计时器不执行?

为什么从 Go 1.17 开始在 go.mod 中有两个require块?