Я пытаюсь написать базовую программу go, которая вызывает функцию в другом файле, но является частью того же пакета. Однако он возвращает:
undefined: NewEmployee
Вот исходный код:
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
? (и см. golang.org/doc/code.html )
main.go
и employee.go
? Потому что все файлы go должны иметь оператор пакета, а я его не вижу в вашем. См .: golang.org/doc/code.html#PackageNames
go
инструмент.
package x
, также ваш основной пакет обычно содержит только один файл, а затем импортирует другие части, которые ему нужны,