LoginSignup
8
4

More than 5 years have passed since last update.

goimportsで使ってるパッケージが消されてしまう場合

Last updated at Posted at 2015-06-10

goimportsを使っていて、とあるライブラリのimportが勝手に消されてしまう現象に遭遇しました。goimportsは使ってないimportは消してくれるのですが、この場合はコード中で使ってるのに消されてしまう。

問題のコードはこんな感じ

package mypackage

import (
    "fmt"
    "time"

    "github.com/deltam/some-library-go" // この行が消える
)

func Hoge() {
    return someLibrary.SomeFunc() // ここで使ってる
}

...

どうやら プロジェクト名とパッケージ名が違う場合 は、goimportsは関係ないimport文だと判断するみたいです。

私はGo言語初心者なのですが、プロジェクト名とパッケージ名は同じにするのが作法(?)みたいですね。

とりあえず回避策。別名をつけとけばgoimportsでも使ってると判断して消さないでいてくれます。

package mypackage

import (
    "fmt"
    "time"

    someLibrary "github.com/deltam/some-library-go" // パッケージ名と同じ別名をつける
)

func Hoge() {
    return somLibrary.SomeFunc() // ここで使ってる
}

...

おわり。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4