Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang-打印变量的内容_Go - Fatal编程技术网

Golang-打印变量的内容

Golang-打印变量的内容,go,Go,我是Golang的新手,我想知道如何打印doc.Find()返回的结构的实际值。我用的是这种方法。 例如,如果我这样做: casesCounter := doc.Find(".cases-counter li") fmt.Printf("%T\n", casesCounter) fmt.Println(&casesCounter) fmt.Println(casesCounter) 我也尝试过使用指针: casesCounter := *doc.Find(".cases-counter

我是Golang的新手,我想知道如何打印
doc.Find()
返回的结构的实际值。我用的是这种方法。 例如,如果我这样做:

casesCounter := doc.Find(".cases-counter li")
fmt.Printf("%T\n", casesCounter)
fmt.Println(&casesCounter)
fmt.Println(casesCounter)
我也尝试过使用指针:

casesCounter := *doc.Find(".cases-counter li")
对于每个案例,我都打印了内存地址:

&{[0xc0004108c0 0xc000410b60] 0xc00023f720 0xc000230150}
{[0xc0004108c0 0xc000410b60] 0xc00023f720 0xc000230150}

但是,如何获得此结构的实际值,就像我在javascript中执行
console.log()
时一样?

您应该尝试以下代码:

for _, v := range casesCounter.Nodes {
        fmt.Printf("%+v", v)
    }
从电话里

doc.Find(selector string)
返回指向所选内容的指针

因此,您应该通过选择来访问数据,选择的结构是

我假设您想要访问节点,正如Latif所提到的,这可以通过一个循环来完成,因为这是一个如上所述的数组

for _, v := range casesCounter.Nodes {
    fmt.Printf("%+v", v)
}

取消对指针的引用,
*
是一个option@NorbertvanNobelen我曾尝试将*放在doc.Find之前,但这也给了我内存地址。返回值casescenter就是您想要处理的。请尝试
fmt.Printf(“%+v”,*casescenter)
(假设casescenter是指针,因为当前示例无法显示该指针)(如果您想展示一个工作示例,请使用go Played是的,这是正确的,谢谢@NorbertvanNobelenIt始终归结为:您必须阅读doc.Find实际返回的类型的文档,然后正确处理此类型,例如,通过取消引用所有指针并调用适当的方法(通常是String()).For any not指针格式化与%#v配合良好。