В попытке узнать, как отлаживать трассировки стека из паники, я наткнулся на что-то запутанное.
package main
func F(a int) {
panic(nil)
}
func main() {
F(1)
}
выводит следующие данные, когда я запускаю его на присоединенной ссылке для воспроизведения:
panic: nil
goroutine 1 [running]:
main.F(0x1, 0x10436000)
/tmp/sandbox090887108/main.go:4 +0x20
main.main()
/tmp/sandbox090887108/main.go:8 +0x20
Я не могу расшифровать то, что означает второе число (0x10436000 в main.F(0x1, 0x10436000)). Он не появляется, если есть второй аргумент int или если что-то еще, если он передан в качестве первого аргумента (можно увидеть во второй ссылке воспроизведения).
Один аргумент: https://play.golang.org/p/3iV48xlNFR
Два аргумента: https://play.golang.org/p/4jA7ueI86K