你正在使用的Go版本是什么( go version
)?
go version go1.17.6 darwin/arm64
这个问题在最新版本的发布中是否重现?
是的
你正在使用什么操作系统和处理器架构( go env
)?
go env
输出
GO111MODULE="auto"
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/admin/Library/Caches/go-build"
GOENV="/Users/admin/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/admin/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/admin/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.17.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/admin/Documents/Development/block/ssi-sdk-mobile/sdk/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/wh/3w785sdn0dj57ljs45b_70dc0000gn/T/go-build1910036593=/tmp/go-build -gno-record-gcc-switches -fno-common"
你做了什么?
当我们在项目中使用 go bind ios
时,我们得到的所有内容都以PascalCase显示。这很烦人,因为对于方法和函数来说,它们应该是camelCase,类应该是PascalCase,等等。但是 go bind ios
似乎将所有内容都视为PascalCase,无论是类、函数、方法、变量、接口还是其他任何东西。
至少 go bind ios
和 go bind android
应该采用最佳的命名规范。
你期望看到什么?
类:PascalCase,方法:camelCase,常量或枚举:UPPERCASE,变量:camelCase。
你实际看到了什么?
一切都是PascalCase
5条答案
按热度按时间aor9mmx11#
相关: #12889
zf2sa74q2#
cc @hyangah
dvtswwa33#
遵循目标语言的最佳实践是理想的,但我恐怕现在改变这个会造成很多混乱。
应该考虑一个选项。
或者,另一种选择是分叉x/mobile -正如你们许多人注意到的那样,x/mobile的开发工作并不活跃。
zkure5ic4#
我认为在编译过程中进行重大更改是可以的,对吗?要获得此更改,用户需要更新x/mobile/bind,因此他们会同意接收更改。如果不是这样,那么CLI选项是可以的。
go bind ios -casing old
(默认)或go bind ios -casing improved
。kokeuurv5#
@hyangah,有没有x/mobile的路线图或计划?我们能否期待它在未来变得活跃?
询问是因为我们的目标是使我们的基础设施的关键部分转向移动端。如果不支持,我们必须探索其他选项。