go x/tools/cmd/eg:清理重构后的导入语句

cgyqldqp  于 5个月前  发布在  Go
关注(0)|答案(4)|浏览(67)

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

dpiehjr4

dpiehjr41#

在Gophercon上,@alaska开始着手解决这个问题。@clairew也对此表示了兴趣。

pftdvrlh

pftdvrlh2#

感谢您发布此消息 - 我将查看我可以做些什么!

ux6nzvsh

ux6nzvsh3#

https://golang.org/cl/77530提到了这个问题:refactor/eg: Fix all imports after modifying files.

5sxhfpxr

5sxhfpxr4#

https://golang.org/cl/116222提到了这个问题:refactor/eg: Fix all imports after modifying files.

相关问题