你使用的Go版本是什么(go version
)?
$ go version
go version go1.14.14 linux/amd64
这个问题在最新版本中是否会重现?
是的(也是用go1.16.5编译的)
$ git log -n 1
commit 1225b6f53f675b0732bdf025af585b173de322ec (HEAD -> master, origin/master, origin/HEAD)
你正在使用什么操作系统和处理器架构(go env
)?
go env
输出
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/peregrine/.cache/go-build"
GOENV="/home/peregrine/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/peregrine/go:/home/peregrine/core3:/home/peregrine/core3/src/plz-out/go:/home/peregrine/core3/src/plz-out/gen/third_party/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/opt/tm/tools/go/1.14.14/usr/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/opt/tm/tools/go/1.14.14/usr/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="cc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/peregrine/go/src/golang.org/x/tools/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 -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build730235714=/tmp/go-build -gno-record-gcc-switches"
你做了什么?
https://play.golang.org/p/8VOphLYHxto
你期望看到什么?
无冗余别名
你看到了什么?
添加了冗余别名
7条答案
按热度按时间nnt7mjpx1#
CC @heschi@bradfitz
68bkxrlz2#
goimports有一个hardcoded rule前缀用于
go-
;我想它可以扩展到覆盖golang-
。除此之外,这正如预期的那样工作。b09cbbtk3#
谢谢。这些规则会被记录下来吗(这样,例如,给名字起名的人可以记住它们)?如果已经被记录了,我道歉,尽管我还没有找到这样的参考。
v8wbuo2f4#
它没有在任何地方记录,我想如果有一个合理的地方放置它,也不会有什么坏处。不过我一时想不起来。你有没有特别希望找到描述的地方?
ozxc1zmp5#
或许在godoc overview?
u5rb5r596#
哇!至少我找到了答案,为什么我会得到
而不是
它确实应该在某个地方记录下来。嗯...现在我有一个问题。为什么它会添加多余的别名?我以为Go导入了
github.com/dsh2dsh/expx-dotenv
并默认将其作为dotenv
访问吗?是的,我刚刚尝试过,并可以确认不使用别名也可以正常工作。有人能解释一下原因或者提供一个解释链接吗?谢谢。ekqde3dh7#
See #28428 .