D'abord, la structure générale de votre Go workspace semble se tromper. Vous devez le rendre plus comme ceci:
D:
|-- go_projects
| |-- bin
| |-- pkg
| |-- src
| | |-- FirstSteps
| | | |-- main.go
| | | +-- util
| | | +-- myprinter.go
| | |-- SecondProject
| | |-- ThirdProject
...
Deuxième déclaration votre import
semble être vide, je ne sais pas comment fonctionne goglang mais si vous voulez utiliser tout ce qui est dans votre fichier myprinter.go
, vous devez importez le package util
, en supposant que le fichier myprinter.go
déclare ses package
en tant que util
en haut.
// FirstSteps/main.go
package main
import (
"FirstSteps/util"
)
func main() {
util.MyPrinterFunc()
}
Et bien sûr, pour être en mesure d'utiliser quoi que ce soit de util
il doit d'abord être quelque chose ...
// FirstSteps/util/myprinter.go
package util
func MyPrinterFunc() {
// do stuff...
}
Modifier: Je suis désolé, je ne réponds pas vraiment à votre question initialement. Vous obtenez l'erreur Cannot find package 'main'
en raison de la mauvaise configuration de l'espace de travail que j'ai déjà mentionnée. Le Package path
indique à Gogland où le package que vous souhaitez exécuter est relatif au répertoire $GOPATH/src
. Donc, après avoir correctement configuré votre Wrokspace, vous devez définir Package path
sur FirstSteps
car le chemin absolu de ce package sera $GOPATH/src/FirstSteps
. Si, plus tard, vous souhaitez exécuter le package util
, vous devez spécifier Package path
comme FirstSteps/util
pour que gogland puisse le trouver.
Merci beaucoup l'homme. Mais dans Gogland, vous devez également appeler "get getype" - après que l'importation "FirstSteps/util" fonctionne bien. Et GOPATH pour le projet dans les paramètres doit être "d:/go_projects" dans ce cas. Ce n'est pas si facile de plonger - C++ était plus facile :) – R1K0