Ich versuche, ein einfaches go-Programm zu schreiben, das eine Funktion für eine andere Datei aufruft, aber Teil desselben Pakets ist. Es wird jedoch Folgendes zurückgegeben:
undefined: NewEmployee
Hier ist der Quellcode:
main.go
::
package main
func main() {
emp := NewEmployee()
}
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!"
}
go run
? (und siehe golang.org/doc/code.html )
main.go
und employee.go
? Weil alle go-Dateien eine Paketanweisung haben sollen und ich keine in Ihrer sehe. Siehe: golang.org/doc/code.html#PackageNames
go
Tool aufrufen .
package x
, außerdem enthält Ihr Hauptpaket normalerweise nur eine einzige Datei und importiert dann die anderen benötigten Teile