1

sが定義されている場所がわかりません。達人は教えてくれない。k私が得るのは「識別子のオブジェクトがありません」だけですが、その横にある権利について知っています。リンクされたコードの典型的なスニペットを次に示します。

func getIndexAndRemainder(k uint64) (uint64, uint64) {
    return k / s, k % s
}

変数名が 1 文字であるため、grep が難しくなります。私は通常の容疑者を探しました: var s uint64s := ...、そして何もありません。明らかに、どこかで定義されたグローバル値である必要があります。

これにより、2 つの質問が残ります。

  1. どこsから来ていますか?
  2. ここで質問せずにどうやってそれを見つけることができますか?

編集:これにつまずいた他の人のために。

/some/path/src の下に git クローンを配置し、/some/path に設定することによって、適切な Go ワークスペースの下でパッケージのソースをチェックアウトしなかったため、Guru は私を失敗させましたGOPATHGOPATH=. guru definition sそのため、うまくいくと思っていましたGOPATHが、無視されました。guru はファイル内にあるので見つけるkことができましたが、他のファイルを調べる方法がわかりませんでした。

私のgrep失敗の原因constは、単純=ではなく:=. 今後grepするときにこれを覚えています。

4

2 に答える 2