我是一名java程序员,我正在学习Go。现在我可以简单地使用GDB而且我有一个疑问,当我调试Go程序时,我无法检查对象(或变量)究竟是什么。 例如当我调试java程序时,我可以检查对象(或变量)中的所有内容。
public void catTest() {
Cat cat1=new Cat("Kitty", 2, "white");
/*AnyThing*/
cat1.jump();
}
当我使用eclipse-debug模式调试这个java方法时,cat1中的内容显然在整个过程中。 Details of Variable cat1
当我调试go程序时,我尝试使用命令print w
或info args
来检查变量w。
func sayhelloName(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
fmt.Println(r.Form)
fmt.Println("path", r.URL.Path)
fmt.Println("scheme", r.URL.Scheme)
fmt.Println(r.Form["url_long"])
for k, v := range r.Form {
fmt.Println("key:", k)
fmt.Println("val:", strings.Join(v, ""))
}
fmt.Fprintf(w, "Hello astaxie!")
}
我可以得到这个但不是关于变量w的内容。
$2 = {tab = 0x81c2e0, data = 0x11156990}