我的源文件树是这样的:
/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
. 但是当我用 6g 编译foo_test.go
时,它说bar() is undefined
. 我该怎么办?