这是段代码:
当然,我知道可以直接打印testType。但是如果它是一个局部变量,有时候它的值不能直接被打印出来,只有它的地址是可用的。因此,我想在指示其类型的情况下打印它的值。但是似乎这样不起作用。 感谢您的帮助!
package main
import (
"fmt"
)
type TestType struct {
a int
b int
}
func main() {
var testType TestType = TestType{1, 2}
fmt.Println(testType)
}
以下是 gdb 调试输出:
(gdb) r
Starting program: /home/bzhang/common/src/go/src/test/testBinary
Breakpoint 1, main.main () at /home/bzhang/common/src/go/src/test/main.go:14
14 fmt.Println(testType)
(gdb) p testType
$1 = {a = 1, b = 2}
(gdb) p &testType
$2 = (main.TestType *) 0xc820059ee8
(gdb) p ('main.TestType'*) 0xc820059ee8
A syntax error in expression, near `) 0xc820059ee8'.
(gdb) p ('TestType'*) 0xc820059ee8
A syntax error in expression, near `) 0xc820059ee8'.
(gdb) whatis testType
type = main.TestType
(gdb)
当然,我知道可以直接打印testType。但是如果它是一个局部变量,有时候它的值不能直接被打印出来,只有它的地址是可用的。因此,我想在指示其类型的情况下打印它的值。但是似乎这样不起作用。 感谢您的帮助!