Golang进阶

【Golang】goimport格式规范

2018-02-20  本文已影响9人  qishuai

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格式统一,不光代码美观,还能体现一个团队对于细节的追求。

上一篇下一篇

猜你喜欢

热点阅读