前提・実現したいこと
Golang
main.goとは別のパッケージfoo.goから関数を呼び出そうとした際、以下のエラーメッセージが発生しました。
エラーなくパッケージ分割ができるようにするためには、どのような施策が有効でしょうか。
発生している問題・エラーメッセージ
invalid import path: "golang_udemy\section13\section13-68\foo" unknown escape sequence
該当のソースコード
main
1package main 2 3import ( 4 "fmt" 5 "golang_udemy\section13\section13-68\foo" 6) 7 8//スコープ 9 10func main() { 11 fmt.Println(foo.Max) 12} 13
foo
1package foo 2 3const ( 4 Max = 100 5 min = 1 6) 7 8func ReturnMin() int { 9 return min 10} 11
パスの通し方に難があるのか特定のプラグインをインストールできていないのか、
それともそれ以外に問題点があるのか、ご教授いただければ幸いです。
初心者マークを100個ほど付けたいくらいに初心者ですが、よろしくお願いいたします。
補足情報
使用ツール:VScode
パスの区切り文字は \ じゃなくて / なのでは。
返信遅れて申し訳ございません。
OSがWindowsであるため、パスの区切りは¥(\)となります。
Windows でも import のパス区切りは / です。
https://stackoverflow.com/a/45323824
ご指摘、および資料の連携ありがとうございます。
importのパス区切りを/に変更したところ、エラーが下記のような形に変わったので改めて連携いたします。
could not import golang_udemy/section13/foo (no required module provides package "golang_udemy/section13/foo")
Go のモジュール管理はどうやってますか? というか、Udemy の講座を参考にしてるんでしょうけど、古いものだと最近の go mod に対応してないのでは…。
ご指摘ありがとうございます。たしかに、Udemyの講座ではgo modの話にいっさい触れていませんね……
go modについても調べてみましたが、まずどこから手を付けてよいものかわからずじまいです。
勉強を開始した際は取り急ぎGoとVSCodeのGo Extensionのみインストールしたので、その他に主だった環境構築を行っておりません。
上記のほかに何かインストールするべきものやするべき準備などはございますか?(githubへの登録はパッケージ管理に必須でしょうか?)
go mod は go 1.11 以降ではそのまま使えます。
go mod init golang_udemy/section13/section13-68
とかすればいいはず。
https://qiita.com/uchiko/items/64fb3020dd64cf211d4e
返信が遅れて申し訳ありません。
掲載いただいた記事を参考にしたところ、エラーが解消され、分割したパッケージを参照することができました。
幾度も助言をいただきたいへん恐縮です。本当にありがとうございます。
回答1件
あなたの回答
tips
プレビュー