0
Help us understand the problem. What are the problem?

posted at

golangでパッケージを作成してmain.goから読み込んだらエラー

go言語を勉強中。
環境Windows10
VSCODE
go 1.17.7

プロジェクト名のディレクトリの下にmain.goを作成して
その下にmylibというディレクトリを作りました。
その中にgoファイルを作成して関数を作り。
main.goでその関数を呼び出そうとしたら以下のエラーなりました。

main.go:4:2: package projectname/mylib is not in GOROOT (C:\Program Files\Go\src\projectname\mylib)

この問題について以下の記事がありました。
[GO言語]GOPATH以外の場所でのimportの挙動について整理

しかし、Go 1.16からGo-Moduleによるプロジェクト構成が推奨されたらしいという記事を発見しました。

cd projectname
go mod init projectname

でモジュールを認識して実行するとこができました。

package main

import (
	"PROJECTNAME/mylib"
	"fmt"
)

と記述すれば、mylibの中のモジュールを読み込んでくれました。

参考:Go 1.16環境構築(Windows)

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?