我正在尝试编写一个基本的go程序,它调用不同文件上的函数,但是同一个软件包的一部分.但是,它返回:
undefined: NewEmployee
Run Code Online (Sandbox Code Playgroud)
这是源代码:
main.go
:
package main
func main() {
emp := NewEmployee()
}
Run Code Online (Sandbox Code Playgroud)
employee.go
:
package main
type Employee struct {
name string
age int
}
func NewEmployee() *Employee {
p := &Employee{}
return p
}
func PrintEmployee (p *Employee) {
return "Hello world!"
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
我正在我的包目录中创建一个名为reverseTest.go的简单测试
package main
import "testing"
func TestReverse(t *testing.T) {
cases := []struct {
in, want string
}{
{"Hello, world", "dlrow ,olleH"},
{"Hello, ??", "?? ,olleH"},
{"", ""},
}
for _, c := range cases {
got := Reverse(c.in)
if got != c.want {
t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
}
}
}
Run Code Online (Sandbox Code Playgroud)
每当我尝试运行它时,输出就是
exampleFolder[no test files]
Run Code Online (Sandbox Code Playgroud)
这是我的环境
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/juan/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢!!
我已经进口了
_ "github.com/mitchellh/mapstructure"
Run Code Online (Sandbox Code Playgroud)
进入我的一个项目.但是我无法利用该库中包含的Decode函数将map接口转换为struct:
var result Person
err := Decode(input, &result)
if err != nil {
panic(err)
}
Run Code Online (Sandbox Code Playgroud)
此基本调用返回"undefined:Decode"错误.除了导入之外还有什么要做的吗?
提前致谢!