commit | a4f0a77f2f13243ed95026afcc05380e9953f138 | [log] [tgz] |
---|---|---|
author | Russ Cox <rsc@golang.org> | Wed Oct 12 14:05:24 2016 -0400 |
committer | Russ Cox <rsc@golang.org> | Wed Oct 12 18:37:41 2016 +0000 |
tree | 4f4d3c16dbc73c39aec013e893df293e54b9b145 | |
parent | 6ea0bb537040ee2926a37608791a60803db71171 [diff] |
bind: param name replacement for invalid unicode names The are three generators that currently call this method: A -> B (1) go -> java (2) go -> objective-c (3) go -> go As discussed below, we only substitute for invalid unicode characters in case (1). **Case 1** Go: From golang.org/ref/spec: Identifiers name program entities such as variables and types. An identifier is a sequence of one or more letters and digits(unicode_digit). The first character in an identifier must be a letter(unicode_letter | "_" ). Java: From https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.8 `The "Java letters" include uppercase and lowercase ASCII Latin letters A-Z (\u0041-\u005a), and a-z (\u0061-\u007a), and, for historical reasons, the ASCII underscore (_, or \u005f) and dollar sign ($, or \u0024). The $ character should be used only in mechanically generated source code or, rarely, to access pre-existing names on legacy systems.` Therefore, Go's identifiers are checked in case they break these Java rules. **Case 2** There is no objective-c standard specification for valid identifiers. From some testing it seems that Go and objective-c have identical valid identifier rules. **Case 3** Requires no checking. Change-Id: I881810eb9355af6a418727ace32cb6ce4266b2a0 Reviewed-on: https://go-review.googlesource.com/14044 Run-TryBot: Russ Cox <rsc@golang.org> 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.