質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

2回答

1548閲覧

GOPATHやPATHの設定とファイルの配置について教えてほしいです

nkiniki

総合スコア10

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2022/02/23 11:48

編集2022/02/24 03:47

現在、MACで「スターティングGo言語」といった書籍を読みながら、プログラミングの学習をしているのですが、サンプルコードの実行すらうまく行かず、前提となる環境設定が正しくないのではないかと考えています。
ファイルの配置やPATHの変更など試していますが、うまく行かずお力を貸していただけるとありがたいです。

・サンプルコード
https://www.shoeisha.co.jp/book/download/9784798142418/detail
※会員登録せず、ダウンロード可能です。

以下のように設定しており、実行しているのですがうまくいかず修正すべき部分を教えていただけないでしょうか?

・実行したコマンド
MacBook-Air:zoo nki$ go run main.go

・エラーメッセージ
build command-line-arguments: cannot find module for path _/Users/nki/desktop/Go/src/zoo/animals

・ユーザー名
nki

・Goのインストール先
/usr/local/Cellar/go
イメージ説明

・.bash_profileの記述
export PATH=$PATH:/usr/local/Cellar/go/1.17.6/bin
export GOPATH=$HOME/Users/nki/Desktop/GO

・サンプルコードの配置先
画像の「zoo」がサンプルコードのフォルダです
/Users/nki/Desktop/GO/src/zoo
イメージ説明

・main.gpに記載のコード

Go

1package main 2 3import ( 4 "fmt" 5 6 "./animals" 7) 8 9func main() { 10 fmt.Println(animals.ElephantFeed()) 11 fmt.Println(animals.MonkeyFeed()) 12 fmt.Println(animals.RabbitFeed()) 13}

・elephant.goに記載のコード

Go

1package animals 2 3func ElephantFeed() string { 4 return "Grass" 5}

・monkey.goに記載のコード

Go

1package animals 2 3func MonkeyFeed() string { 4 return "Banana" 5}

・rabbit.goに記載のコード

Go

1package animals 2 3func RabbitFeed() string { 4 return "Carrot" 5}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

結論的には、書籍の情報が古い可能性があり、パッケージをモジュール化することで正しく実行できました。
またシェルも書籍発行当初のbashを使ってましたが、zshへ変更しています。
フォルダパスの指定についても、相対参照が推奨ではないので絶対パスに変更するほうがエラーの確率が低くなることも調べていく過程でわかりました。

投稿2022/02/25 11:18

nkiniki

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

これからGoを始める方はここを一読することをおすすめします。
https://go.dev/doc/tutorial/getting-started

投稿2022/02/23 23:57

nobonobo

総合スコア3367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問