2016-04-28 7 views
0

私は作業していたmain.goファイルを持っていますが、少し長めになったので整理しようとしています。私は新しいファイルを作成し、いくつかの関数をmain.goに組み込み、それらの関数を使用したいと考えています。その新しいファイルはmain.goと同じディレクトリにあります。誰にどのようにこれを行うにはどのような考えがありますか?メイン・ゴー・ファイルにセカンダリ・ファイルが含まれています

答えて

4

goファイルが同じパッケージに入っている限り、何もインポートする必要はありません。

例:

プロジェクト/ main.go:

package main 

import "fmt" 

func main() { 
    fmt.Println(sayHello()) 
} 

プロジェクト/ utils.go:

package main 

func sayHello() (string) { 
    return "hello!" 
} 

を実行するには、次のgo run main.go utils.goまたはgo run *.go

+0

それを試して、動作しませんでした。それは "undefined:satHello –

+0

私はmain.goを実行します。 –

+0

'実行するためには、すべてのファイルにargsを与える必要があります。例: 'go run main.go utils.go' –

4

これには何も(インポートする)必要はありません。両方のファイルで同じパッケージ名を使用してください。

+0

と私はフォルダ内のすべてを整理したいのですが?それだけで動作しますか? –

+0

また、すべてのファイルを使用しているすべてのライブラリをインポートする必要がありますか、継承されていますか? –

+0

パッケージ内のすべてのファイルは同じディレクトリになければなりません.Goソースファイルを含む各フォルダは一意のパッケージです。これらのパッケージは、必要に応じて他のソースファイルにインポートします。各ソースファイルでは、そのソースファイルで使用されているパッケージをインポートする必要があります。詳細については、https://golang.org/doc/code.htmlを参照してください。また、 'goimports'ユーティリティを使用してGoファイルの' import'を自動的に管理することを強くお勧めします( 'gofmt'doesを行い、標準的な方法でコードをフォーマットします)。 –

関連する問題