按包

时间:2016-08-01 17:28:05

标签: go

我看到Go有进口分组的帮助,但是我想知道是否有人创建了一个包以按照某种模式对分组中的导入进行分组?

Go import通过强制执行至少两个分组stdlib和其他所有内容来做到这一点;但是,我公司的政策是将进口分为4组

import (
    stdlib

    current_project

    company

    all others 
)

有没有可以自动执行此操作的工具?

2 个答案:

答案 0 :(得分:5)

goimports支持-local标志的最新版本。引用this commit message

例如,运行goimports -local example.com/可能会产生

import (
    "database/sql"
    "io"
    "strconv"

    "golang.org/x/net/context"

    "example.com/foo/bar"
    "example.com/foo/baz"
)

答案 1 :(得分:3)

我也一直试图找到正确的答案,直到我自己解决问题为止。...您可以尝试使用此工具对Golang导入进行排序:https://github.com/incu6us/goimports-reviser

它将对您的进口货物进行分类并将其分为3-4组。另外,使用-local-选项,您可以设置公司的库以将其分类到单独的组中。