文章翻译:Ivy 。
让我们开始吧,首先你必须安装一个可运行的 go 1.5. 你可以从编译好的版本。我在写这篇博客的时候在一台 Linux 机器上使用的是 的 go 1.5 beta2. 我注意到在 Windows 上面使用的时候在 Go 语言源代码里面会有一些警告信息,因此如果你正在使用 Windows 开发,这可能不会起作用。
一旦你要安装 Go 语言,你可以通过下面的命令行来安装:
go get golang.org/x/mobile/cmd/gomobile
gomobile init
Android 平台:你需要安装 Android 例子 。为了简便起见我这里只安装 android 版本(主要原因是因为我没有 IOS 设备)。
接下来的命令就会安装示例应用:
gomobile install golang.org/x/mobile/example/basic
gomobile install golang.org/x/mobile/example/audio
gomobile install golang.org/x/mobile/example/sprite
虽然看起来不多,但是我觉得这相当酷。上面的应用使用纯 go 语言写的,并且使用 opengl 来做渲染。目前还有一些 api 限制,但是我相信不久就会改善。
好,我们可以编译他人的代码,但是它在干什么?让我们看看在这个基本的示例应用里面发生了什么。
//excerpt from golang.org/x/mobile/example/basic
func main() {
app.Main(func(a app.App) {
var c config.Event
for e := range a.Events() {
switch e := app.Filter(e).(type) {
case lifecycle.Event:
switch e.Crosses(lifecycle.StageVisible) {
case lifecycle.CrossOn:
onStart()
case lifecycle.CrossOff:
onStop()
}
case config.Event:
c = e
touchLoc = geom.Point{c.Width / 2, c.Height / 2}
case paint.Event:
onPaint(c)
a.EndPaint()
case touch.Event:
touchLoc = e.Loc
}
}
})
}
用 Go 语言写的应用会从 app 包里面调用主函数。在这里你可以定义应该发生什事件,你可以在<a rel="nofollow" href="https://github.com/golang/mobile" "="" style="box-sizing: border-box; background-color: transparent; color: rgb(45, 133, 202);">https://github.com/golang/mobile