小编Jua*_*n M的帖子

golang"undefined"函数在另一个文件中声明?

我正在尝试编写一个基本的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)

提前致谢

func undefined go

114
推荐指数
6
解决办法
8万
查看次数

Golang测试:"没有测试文件"

我正在我的包目录中创建一个名为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)

任何帮助将不胜感激.谢谢!!

testing terminal go

38
推荐指数
4
解决办法
3万
查看次数

golang undefined函数调用导入的库

我已经进口了

_ "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"错误.除了导入之外还有什么要做的吗?

提前致谢!

import struct go

0
推荐指数
1
解决办法
891
查看次数

标签 统计

go ×3

func ×1

import ×1

struct ×1

terminal ×1

testing ×1

undefined ×1