Sto provando a scrivere un programma go di base che chiama una funzione su un file diverso, ma parte dello stesso pacchetto. Tuttavia, restituisce:
undefined: NewEmployee
Ecco il codice sorgente:
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
? (e vedi golang.org/doc/code.html )
main.go
e employee.go
? Perché tutti i file go dovrebbero avere un'istruzione di pacchetto e non ne vedo nessuno nel tuo. Vedi: golang.org/doc/code.html#PackageNames
go
strumento.
package x
, anche il tuo pacchetto principale in genere contiene solo un singolo file, quindi importa gli altri pezzi di cui ha bisogno