你使用的Go版本是什么( go version
)?
$ go version
go version go1.12.9 darwin/amd64
另外 1.13.1
(例如,playground)
这个问题在最新版本中是否会重现?
是的
你正在使用什么操作系统和处理器架构( go env
)?
go env
输出
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/usr/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/usr/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/44/txz_wqq568n4lbh6014ft754hlbqxb/T/go-build700487788=/tmp/go-build -gno-record-gcc-switches -fno-common"
你做了什么?
https://play.golang.org/p/ObK1tLflXtz
你期望看到什么?
输出: true
因为根据 https://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3AID_Continue%3A%5D&g=&i=, f
应该包含在那个范围表中
你看到了什么?
输出: false
7条答案
按热度按时间zzzyeukh1#
我认为,要么RangeTable的定义不正确,要么应该澄清,
Other_ID_Continue
并不代表具有属性ID_Continue
的unicode字符。b91juud32#
Unicode范围表
ID_Continue
:ID_Continue
范围表w8biq8rn3#
@robpike
ars1skjm4#
关于这个有什么更新吗?
sulc1iza5#
我认为
Other_ID_Start
的正确表格应该是e4yzc0pl6#
@mpvl
r7knjye27#
我认为 UAX #31 清楚地表明
Other_ID_Start
和Other_ID_Continue
与ID_Start
和ID_Continue
(毕竟报告的目的是定义这些属性)不同。请参阅第2.5节“向后兼容性”。我们可以添加文档告知用户这些属性是不同的,但我无法想象用户会意识到ID_Start
的存在,而不注意到该属性是以Other_ID_Start
为基准定义的。如果您仍然对检查此属性感兴趣,我有一个外部库可以做到这一点:https://github.com/smasher164/xid。