Mi árbol de archivos de origen es la siguiente:Para usar el paquete correctamente, ¿cómo organizar el directorio, el nombre del archivo, el archivo de prueba de la unidad?
/src
/pkg
/foo
foo.go
foo_test.go
Dentro foo.go:
package foo
func bar(n int) {
...
}
dentro foo_test.go:
package foo
func testBar(t *testing.T) {
bar(10)
...
}
Mis preguntas son:
- ¿El nombre del paquete rel ates al nombre del directorio, nombre del archivo fuente?
- Si solo hay un archivo fuente para un paquete, ¿necesito ponerlo en un directorio?
- ¿Debo incluir foo.go y foo_test.go en el mismo paquete?
- En el foo_test.go, ya que está en el mismo paquete que foo.go, no importé foo. Pero cuando compilo foo_test.go con 6g, dice que bar() no está definido. ¿Que debería hacer?