美文网首页Golang进阶
【Golang】goimport格式规范

【Golang】goimport格式规范

作者: qishuai | 来源:发表于2018-02-20 13:32 被阅读9次

    go import格式规范

    对于go import的格式容易被忽略,但是标准的import会让代码阅读者一目了然。import的格式要求是将标准库、当前工程包、golang官方包、初始化包和github.com仓库的引入进行分类、排序,在不容分类间使用空行进行区分。

    在goland和IDEA软件中,已经为我们集成了自动化选项。这里介绍一下:

    1. 找到软件的首选项,Mac下直接按command + ,进入。在window平台下,先进入首选项,在搜索栏输入imports即可找到。按照图片的选项选择即可
    配置
    1. 看一下区别,修改前:
    import (
        "path/filepath"
    
        "bytes"
        "fmt"
    
        "github.com/btcboost/copernicus/orm"
    
        "strconv"
    
        "golang.org/x/text/currency"
    
        _ "github.com/go-sql-driver/mysql"
    
        "github.com/btcboost/copernicus/orm/database"
        "github.com/btcboost/copernicus/conf"
    )
    

    修改后

    import (
        "bytes"
        "fmt"
        "path/filepath"
        "strconv"
        
        "golang.org/x/text/currency"
        
        _ "github.com/go-sql-driver/mysql"
        
        "github.com/btcboost/copernicus/conf"
        "github.com/btcboost/copernicus/orm"
        "github.com/btcboost/copernicus/orm/database"
    )
    

    小技巧: 如果我们当前项目的import已经是乱成一团,那么通过手动格式化将是灾难性的。小技巧来了,将import代码块部分或全部注释,然后保存command + s, 格式就自动调整了(对于gopath中存在重名的包引入,要注意其引入的正确性)。

    有人会说这也没什么区别呀,但是如果一个文件中引入了大量的包,各种类型的包都有,那对于代码阅读者将是灾难。另外对于一个项目,如果保持go import格式统一,不光代码美观,还能体现一个团队对于细节的追求。

    相关文章

      网友评论

        本文标题:【Golang】goimport格式规范

        本文链接:https://www.haomeiwen.com/subject/npkgtftx.html