Cómo llamar a una función desde otro archivo en Go: estructura del proyecto e importación
¡Hola, colegas! Acabo de empezar a aprender Go y me encontré con un problema que me parece muy simple, pero no puedo encontrar la solución correcta. Tengo dos archivos en un mismo proyecto: `main.go` y `helpers.go`. En `helpers.go` declaré una función `sayHello()` que imprime un saludo. En `main.go` intento llamar a esa función, pero el compilador se queja de que la función no está definida.
Aquí está la estructura de mi carpeta:
```
myproject/
├── main.go
└── helpers.go
```
Código de `helpers.go`:
```go
package main
import "fmt"
func sayHello() {
fmt.Println("Hello from helpers!")
}
```
Código de `main.go`:
```go
package main
func main() {
sayHello()
}
```
Cuando ejecuto `go run main.go`, obtengo un error: `undefined: sayHello`. Si ejecuto `go run main.go helpers.go`, funciona. Pero me dijeron que en Go no es necesario especificar explícitamente todos los archivos al ejecutar. ¿Qué estoy haciendo mal? ¿Quizás el problema es que estoy usando una estructura de paquetes incorrecta? ¿Necesito crear un...