実現したいこと
alib.goをmain.go で実行するためにディレクトリ構成の指定を正しく行いたい
発生している問題・分からないこと
ターミナル上directoryのstd にありませんと表示されます
エラーメッセージ
error
1main.go:5:2: package golang_udemy/lesson/alib is not in std (/Users/monica/.goenv/versions/1.21.5/src/golang_udemy/lesson/alib)
該当のソースコード
package main import ( "fmt" "golang_udemy/lesson/alib" ) /* func main(){ //エントリーポイントmain関数が実行される場所 fmt.Println("HelloWorld") } */ //cd コマンドを使って移動しまくる //lsでディレクトリ内を見る /*私の場合>Desktop>golangUdemrフォルダ> [lsで実行したいテキストファイル確認]main.goを発見>ターミナルでgo run main.go実行 HelloWorldが出力されたらOK*/ //テスト func IsOne(i int)bool{ if i == 1 {//iに1代入 return true//1であった場合 }else{ return false//それ以外の場合 } } func main(){ fmt.Println(IsOne(1)) fmt.Println(IsOne(0)) s :=[]int{1,2,3,4,5} fmt.Println(alib.Average(s)) }
package alib func Average(s []int) int{ //アベレージ関数?整数のスライスを渡すと整数値を返す total := 0 //totalを0としてfor文で回してトータルに値を追加していく処理 for _,i:=range s{ total += i } return int(total / len(s)) //トータルがスライスの要素数を割った/平均値となり、整数に戻して性数値を返す } //main.goの方で実行処理を記載
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
desk top
├golang_udemy/
├ lesson/
└ main.go/
└ main_test.go/
├ alib/
└ alib.go/
ディレクトリの構成にalibフォルダを追加致しました。
エラー構文部分であるmain.goソースコードのimport内に前後に別フォルダ名を記述し試みましたがダメでした
"golang_udemy/lesson/alib"
※stdはそもそも何なのか?>検索したところ曖昧エラー?
※ディレクトリの指定エラーだと考えている為又は変にいじるとエラーが重複してしまいそうなので、コード内のソースはあまりいじっておりません。
お恥ずかしながら何度見返してもimortの何処が間違えているのか判定先が分かりませんお助けいただけると幸いです。
補足
特になし
現状の質問内容では、意味のある回答ができる人はいないと思います。
質問文には、「どんな操作をして」「どんなことが画面に表示されたか」を、省略や要約をせず自分の解釈を交えず、実際に行った順番通りに、記してください。
もしもすべてをおぼえていないとか順番もあやふやだということなら、これまでに作成したすべてのファイルやディレクトリを削除し、最初からしっかり記録をとりながらやり直してください。
念のためですが、「記してください」というのはこのコメント欄に書いて欲しいということではありません。質問文を編集して書いてください。
回答1件
あなたの回答
tips
プレビュー