我看不到在哪里s
定义。大师不会告诉我的。我得到的只是“没有标识符的对象”,但它知道它k
旁边的右边。这是链接代码的典型片段:
func getIndexAndRemainder(k uint64) (uint64, uint64) {
return k / s, k % s
}
一个字母的变量名肯定会让 grep 变得更加困难。我一直在寻找通常的嫌疑人:var s uint64
,s := ...
,什么都没有。显然,它需要是某个地方定义的全局值。
这给我留下了两个问题:
s
来自哪里?- 如果不在这里问,我怎么能找到它?
编辑:对于其他偶然发现这一点的人。
Guru 让我失望了,因为我没有通过将 git clone 放在 /some/path/src 下并将其设置GOPATH
为 /some/path 来在适当的 Go 工作区下检查包的源代码。因此,虽然我认为GOPATH=. guru definition s
会起作用,但GOPATH
被忽略了。guru 可以找到k
,因为它在文件中,但它不知道如何查看其他文件。
我的 grep 失败原因const
使用简单的=
not a :=
。以后grepping的时候我会记住这一点。