Estoy tratando de escribir un programa básico que llame a una función en un archivo diferente, pero que sea parte del mismo paquete. Sin embargo, devuelve:
undefined: NewEmployee
Aquí está el código fuente:
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
? (y ver golang.org/doc/code.html )
main.go
y employee.go
. Porque se supone que todos los archivos go tienen una declaración de paquete, y no veo ninguno en el suyo. Ver: golang.org/doc/code.html#PackageNames
go
herramienta.
package x
, también su paquete principal generalmente solo contiene un solo archivo, luego importa las otras piezas que necesita