2017-03-26 15 views
3

こんにちは。私はゴーとゴーグランドでとても新しいです。メインファイルが、プロジェクトだけではないを実行するために - 私はパッケージとして、「ファイル名を指定して実行の種類」を選択したプロジェクト Go project in GoglandGoとGoglandのヒント

  1. を持っています。なぜそれがメインのパッケージを見つけることができないのですか?
  2. util.myprinterパッケージをmain.goにインポートするにはどうすればいいですか?

が、私は

答えて

8

まず助けてください、あなたのゴーworkspaceの一般的な構造は間違っているようです。あなたはそれがよりこのように見えるようにする必要があります。

D: 
|-- go_projects 
| |-- bin 
| |-- pkg 
| |-- src 
| | |-- FirstSteps 
| | | |-- main.go 
| | | +-- util 
| | |   +-- myprinter.go 
| | |-- SecondProject 
| | |-- ThirdProject 
... 

第二に、あなたのimport文が空のようです、私はどのようにgoglang作品見当がつかないが、あなたはあなたのmyprinter.goファイル内にあるものを使用したい場合は、あなたがする必要があります。 myprinter.goファイルのpackageが先頭にutilと宣言されていると仮定して、utilパッケージをインポートします。

// FirstSteps/main.go 
package main 

import (
    "FirstSteps/util" 
) 

func main() { 
    util.MyPrinterFunc() 
} 

そしてもちろんの最初の...

// FirstSteps/util/myprinter.go 
package util 

func MyPrinterFunc() { 
    // do stuff... 
} 

編集何かでなければならないがutilから何かを使用することができるようにする:すみません、私は実際にあなたの質問に答えませんでした最初はすでに言及した間違ったワークスペース設定のためにエラーCannot find package 'main'が発生しています。 Package pathは、実行したいパッケージがから$GOPATH/srcというディレクトリにあるGoglandに伝えます。そのため、パッケージの絶対パスは$GOPATH/src/FirstStepsになるので、正しくwrokspaceを設定したら、Package pathFirstStepsに設定する必要があります。後でutilパッケージを実行する場合は、Package pathFirstSteps/utilと指定して、ゴーグランドが見つけられるようにします。

+0

ありがとうたくさんの男。しかし、ゴーグランドでは、 "got get gotype"と呼ぶ必要があります。そのインポート後、 "FirstSteps/util"は正常に動作します。この場合、設定のプロジェクトのGOPATHは "d:/ go_projects"でなければなりません。 C + +で簡単にダイビングするのは簡単ではありません:) – R1K0

関連する問題