1. ホーム
  2. go

[解決済み] メインパッケージに複数のファイルがあるプロジェクトを「go run」するにはどうしたらいいですか?

2022-04-22 09:14:43

質問

私は、1つのファイルを main というパッケージで main.go . このコードは再利用できないので、コードの一部を別のファイルに分けたいのですが、同じパッケージの中にあります。

の内容をどのように分割すればよいのでしょうか? main.go 別のパッケージを作成せずに、複数のファイルに分割することはできますか?

このようなディレクトリ構成にしたいのですが。

ls foo

# output:
main.go
bar.go

  • ファイル bar.go
package main

import "fmt"

func Bar() {
  fmt.Println("Bar")
}

  • ファイル main.go
package main

func main() {
  Bar()
}

を実行すると go run main.go と表示されます。

# command-line-arguments
./main.go:4:2: undefined: Bar

解決方法は?

2019年7月26日更新(go >=1.11の場合)

go run .

Windowsでも動作します。

オリジナルの回答(Windows以外の環境向け)

コードは実際に動作します。問題は go run main.go 実行すべきなんです。

go run *.go