为什么GoLang Extern.go使用1 + skip-1?

时间:2018-12-12 16:38:41

标签: go

在第179行的GoLang源https://golang.org/src/runtime/extern.go中,有一个表面上没有意义的函数调用。 1+skip-1导致Go Authors编写此函数而不是在函数调用中简单使用skip的副作用是什么?

if callers(1+skip-1, rpc[:]) < 2 {
    return
}

2 个答案:

答案 0 :(得分:4)

请参见Issue 26437

代码已从this change中的1+skip更改为1+skip-1。该代码本可以更改为skip,但事实并非如此。在this change中删除了多余的+1 -1。

答案 1 :(得分:3)

此问题在#26437中得到解决,并且自been removed起一直存在。