为什么在golang中将其称为“分解式”导入语句?

时间:2019-12-08 05:44:17

标签: go

我正在阅读“ A Tour of Go”教程,并转到this lesson,其中指出:

  

此代码将导入分组为带括号的“分解的”导入语句。

import (
    "fmt"
    "math"
)
     

您还可以编写多个导入语句,例如:

     

import "fmt"

     

import "math"

     

但是使用分解式import语句是一种很好的样式。

有人知道为什么将此格式称为“分解式”导入语句吗?那种格式使它成为“因式分解”呢?我以前从未听说过用过这种词。

2 个答案:

答案 0 :(得分:4)

根据文档,问题下的注释正确。请参阅docs中的以下示例作为很好的指示:

// The leading verb can be factored out of adjacent lines to create a block,
// like in Go imports:

    require (
        new/thing v2.3.4
        old/thing v1.2.3
    )

该注释清楚地指定了"require"(一个共享的“动词”)被排除在外。也就是说,您可以取回它并使用括号来指示块中的所有行都共享此初始“动词”,而不用用单词require写两行。这与ab+ac=a(b+c)相同,这称为分解。我认为这足以说明措辞的选择,我认为这是一个很好的选择。

答案 1 :(得分:3)

如以下问题https://github.com/golang/go/issues/24011中所述,“因素导入”不是golang规范中使用的正式术语。

go-tour开发人员会想出该术语来将其与常规import语句区分开。

话虽如此,我们不必为选择的选项而费心,您可以遵循团队中遵循的编码约定(或在整个代码库中始终遵循一次选项)