Дерево исходных файлов выглядит следующим образом:
/src
  /pkg
    /foo
      foo.go
      foo_test.go
Внутри foo.go:
package foo
func bar(n int) {
    ...
}
внутри foo_test.go:
package foo
func testBar(t *testing.T) {
    bar(10)
    ...
}
Мои вопросы:
- Связано ли имя пакета с именем каталога, именем исходного файла?
- Если для пакета есть только один исходный файл, нужно ли его поместить в каталог?
- Должен ли я помещать foo.go и foo_test.go в тот же пакет?
- В foo_test.go, так как он в том же пакете, что и foo.go, я не импортировал foo. Но когда я компилирую foo_test.go с 6g, он говорит, что bar() - undefined. Что мне делать?
