tl;dr:尽管重构后的导入被正确添加,但过时的导入仍然存在(因此破坏了编译)。在执行eg转换后,我们需要运行类似于goimports
的操作。
你使用的Go版本是什么( go version
)?
go version go1.8.1 darwin/amd64
你正在使用的操作系统和处理器架构是什么( go env
)?
darwin/amd64
你做了什么?
Leos-MBP:~ LeoRudberg$ go build golang.org/x/tools/cmd/eg
Leos-MBP:~ LeoRudberg$ go version
go version go1.8.1 darwin/amd64
Leos-MBP:~ LeoRudberg$ cat test-eg/template.go
package template
import (
"errors"
"fmt"
)
func before(s string) error { return fmt.Errorf("%s", s) }
func after(s string) error { return errors.New(s) }
Leos-MBP:~ LeoRudberg$ cat test-eg/example.go
package example
import (
"fmt"
)
func Whoops(s string) error {
return fmt.Errorf("%s", "Whoops: "+s)
}
Leos-MBP:~ LeoRudberg$ eg -t test-eg/template.go test-eg/example.go
=== test-eg/example.go (1 matches)
package example
import (
"fmt"
"errors"
)
func Whoops(s string) error {
return errors.New("Whoops: " + s)
}
你期望看到什么?
结果的 import
部分应该只包含 errors
。
你看到了什么?
import
部分包含了 errors
,但也包含了不必要的 fmt
。
4条答案
按热度按时间dpiehjr41#
在Gophercon上,@alaska开始着手解决这个问题。@clairew也对此表示了兴趣。
pftdvrlh2#
感谢您发布此消息 - 我将查看我可以做些什么!
ux6nzvsh3#
https://golang.org/cl/77530提到了这个问题:
refactor/eg: Fix all imports after modifying files.
5sxhfpxr4#
https://golang.org/cl/116222提到了这个问题:
refactor/eg: Fix all imports after modifying files.