go run main.goしても分割したファイルの関数が読まれない
Go言語初心者です
# go run main.go # command-line-arguments ./main.go:5:2: undefined: tweet
main.go のmain関数から
同じpackageのtweet.goに記述した
tweet関数を呼び出そうとしたらエラーが出ました
main.goもtweet.goも同じpackageなので呼び出せるはずなのですが
よくわからなかったので調べました。
ディレクトリ構成はこんな感じ↓
. ├── Dockerfile ├── README.md ├── docker-compose.yml ├── go.mod ├── go.sum ├── keys │ ├── go.mod │ └── keys.go ├── main.go └── tweet.go
原因
go run
はカレントディレクトリ以下の全ファイルを読んでくれるわけではないため
必要なファイルを全てオプションで渡す必要がある
go run *.go
or go run main.go tweet.go
もしくは
# go build -o app