命令源码-库源码-测试源码

2019-08-27  本文已影响0人  niyiwei

命令源码文件

命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。我们可以通过构建或安装生成与其对应的可执行文件,后者一般会与该命令源码文件的直接父目录同名。如果一个源码文件声明属于main包,并且包含一个无参数声明且无结果声明的main函数,那么就是命令源码文件。在main包中只允许一个main函数,否则编译报错

库源码文件

库源码文件不能被直接运行,它仅用于存放程序实体。只要遵从 Go 语言规范,这些程序实体就可以被其他代码使用。这些“其他代码”可以与被使用的程序实体在同一个源码文件内,也可以在其他源码文件,甚至其他代码包中。

测试源码文件

文件名:测试源码文件的主名称应该以被测源码文件的主名称为前导,并且必须以“_test”为后缀。例如,如果被测源码文件的名称为 demo.go,那么针对它的测试源码文件的名称就应该demo_test.go。

测试函数的名称和签名的限制

功能测试函数:其名称必须以Test为前缀,并且参数列表中只应有一个*testing.T类型的参数声明。

    func TestDemo(t *testing.T) {

            // 编写需要测试的代码

    }   

性能测试函数:其名称必须以Benchmark为前缀,并且唯一参数的类型必须是*testing.B类型的。

      func BenchmarkDemo(t *testing.B) {

        // 编写需要测试的代码

    }   

示例测试函数:其名称必须以Example为前缀,但对函数的参数列表没有强制规定。

func ExampleDemo(){

//程序的使用方式

}

代码包声明的基本规则

第一条规则:同目录下的源码文件的代码包声明语句要一致。也就是说,它们要同属于一个代码包。这对于所有源码文件都是适用的。如果目录中有命令源码文件,那么其他种类的源码文件也应该声明属于main包。这也是我们能够成功构建和运行它们的前提。

第二条规则:源码文件声明的代码包的名称可以与其所在的目录的名称不同。在针对代码包进行构建时,生成的结果文件的主名称与其父目录的名称一致。

上一篇 下一篇

猜你喜欢

热点阅读