commit | c2432111674ba1e139be11cc746383352b9f4d08 | [log] [tgz] |
---|---|---|
author | Elias Naur <elias.naur@gmail.com> | Tue Jan 17 02:26:29 2017 +0100 |
committer | Elias Naur <elias.naur@gmail.com> | Wed Jan 18 20:31:42 2017 +0000 |
tree | 8dc55989f596b92f9c5bf3c39e9d44d381639e43 | |
parent | a0f998b2d8c7ee81ddbead9202dd5e0184a998ad [diff] |
bind,internal/importers: add Unwrap methods to unwrap Java wrappers For Java classes implemented in Go, it is useful to take a Java instance and extract its wrapped Go instance. For example, consider the java.lang.Runnable implementation wrapping a Go function: package somepkg type GoRunnable struct { lang.Runnable f func() } Java methods that take a java.lang.Runnable cannot directly take a *GoRunnable, so this CL adds a Unwrap method: import gorun "Java/somepkg/GoRunnable" ... r := gorun.New() r.Unwrap().(*GoRunnable).f = func() { ... } javapkg.Run(r) The extra interface conversion is unfortunately needed to avoid import cycles. Change-Id: Ib775a5712cd25aa75a19d364a55d76b1e11dce77 Reviewed-on: https://go-review.googlesource.com/35295 Reviewed-by: David Crawshaw <crawshaw@golang.org>
The Go mobile repository holds packages and build tools for using Go on mobile platforms.
Package documentation as a starting point:
The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.
This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.
Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.