unimport
1.0.0
import는 불필요한 수입 별칭을 찾기위한 GO 정적 분석 도구입니다.
go get -u github.com/alexkohler/unimport
다른 GO 정적 Anaylsis 도구 (예 : Golint, Go Vet)와 마찬가지로, import는 하나 이상의 파일 이름, 디렉토리 또는 가져 오기 경로에서 명명 된 패키지로 호출 할 수 있습니다. 미지급은 또한 ... 와일드 카드를 지원합니다.
unimport files/directories/packages
현재 깃발은 지원되지 않습니다. 가능한 경우 (GOFMT의 -W 플래그와 유사) 별칭을 자동으로 제거하기 위해 향후 -w 플래그를 추가 할 수 있습니다.
Go의 코드 검토에 언급 된 바와 같이 의견 :
이름 충돌을 피하는 것 외에는 수입의 이름을 바꾸지 마십시오. 좋은 패키지 이름은 이름을 바꾸지 않아야합니다. 충돌의 경우 가장 현지 또는 프로젝트 별 수입의 이름을 바꾸는 것이 좋습니다.
이 도구는 가져 오기 별명이 실제로 필요한지 확인합니다 (가져 오기 별명없이 존재하는 이름 충돌이 있는지 확인 함). 이 도구는 대시 및 점이 포함 된 가져 오기 경로를 무시 합니다 . 이는 특정 개정을 가져 오는 동안 일반적으로 유용한 별칭이기 때문입니다. 예를 들어, Gometalinter에는 kingpin "gopkg.in/alecthomas/kingpin.v3-unstable" 과 같은 일부 수입이 있습니다. 이것은 합리적인 가져 오기 별칭이며 신고되지 않습니다.
Go에서 unimports 실행 소스 :
$ unimport $GOROOT/src/...
cmd/go/pkg.go:18 unnecessary import alias pathpkg
go/build/build.go:19 unnecessary import alias pathpkg
go/internal/gcimporter/gcimporter.go:23 unnecessary import alias exact
os/pipe_test.go:14 unnecessary import alias osexec
os/os_windows_test.go:10 unnecessary import alias osexec
아래는 불필요하게 불필요한 수입 별명 중 일부입니다.
// go/internal/gcimporter/gcimporter.go
import (
"bufio"
"errors"
"fmt"
"go/build"
"go/token"
"io"
"io/ioutil"
"os"
"path/filepath"
"sort"
"strconv"
"strings"
"text/scanner"
exact "go/constant"
"go/types"
)
// os/pipe_test.go.go
import (
"fmt"
"internal/testenv"
"os"
osexec "os/exec"
"os/signal"
"syscall"
"testing"
)요청을 당기는 것을 환영합니다!