Posible Solucion linux
Yo lo que hice fue crear una carpeta con el nombre modelos en el mismo directorio y con el archivo cursos.go dentro de el asi: modelos/cursos.go
package modelos
import "fmt"
type Course struct {
Name string
Price float64
IsFree bool
UserIDs []uint
Clases map[uint]string
}
func (c Course) PrintClases() {
text := "Las clases son: "
for _, class := range c.Clases {
text += class + ", "
}
fmt.Println(text[:len(text)-2])
}
y el archivo main.go quedo asi:
package main
import "github.com/MiGithub/poo-go/02-metodos/modelos"
func main() {
Go := modelos.Course{
Name: "POO en Golang",
Price: 12.34,
IsFree: false,
UserIDs: []uint{12, 56, 89},
Clases: map[uint]string{
1: "Introducción",
2: "Estructuras",
3: "Mapas",
},
}
Go.PrintClases()
}
Todo esta dentro de la carpeta 02-metodos porque asi me organizo mejor pero asi y dentro de esta misma carpeta solo escribimos go run main.go y funcionara, espero me halla explicado y les funcione a todos lo realice con go 1.18 saludos