我在 GOPATH之外有一个目录(我正在努力理解 Go 模块;这还不是一个模块,只是前进的一步)。
目录路径为~/Development/golang/understanding-modules/hello
.
树看起来像:
hello/ (package main)
- 你好.go
- hello_test.go
- morestrings/(包morestrings)
- 反向.go
- reverse_test.go
我的功能reverse.go
是:
// Package morestrings implements additional functions to manipulate UTF-8
// encoded strings, beyond what is provided in the standard "strings" package.
package morestrings
// ReverseRunes returns its argument string reversed rune-wise left to right.
func ReverseRunes(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
我的测试功能reverse_test.go
是:
package morestrings
import "testing"
func TestReverseRunes(t *testing.T) {
got := ReverseRunes("Hello, World!")
want := "!dlroW ,olleH"
if got != want {
t.Logf("Wanted %s, but got %s", want, got)
}
}
该ReverseRunes
函数显示错误undeclared name: ReverseRunes
。
Go 版本是1.14.2 darwin/amd64
GO111MODULE
设置为auto
: GO111MODULE=auto
,如果有任何影响。
我尝试重新加载 VS Code 窗口。
我试过删除hello.go
&hello_test.go
文件。
起作用的是将morestrings
目录向上移动一个级别,以便与hello
:位于同一目录中~/Development/golang/understanding-modules/morestrings
。
但是这些教程使它看起来~/Development/golang/understanding-modules/hello/morestrings
应该可以工作。
我错过了什么?