访问GO结构中的字段

访问GO结构中的字段,go,aws-sdk,aws-sdk-go,Go,Aws Sdk,Aws Sdk Go,我是Golang世界的新手,正在尝试解析AWSAPI返回的json响应 我尝试过用点符号解析结果,似乎在更高的层次上获得了成功。下面是我的实验结果 为简洁起见,我排除了其他字段 测试1 fmt.Println(result) 返回 { DBClusterSnapshots: [{ Status: "available" }] } { Status: "available" } 测试2 fmt.Println(result.DBClusterSnapshots

我是Golang世界的新手,正在尝试解析AWSAPI返回的
json
响应

我尝试过用点符号解析结果,似乎在更高的层次上获得了成功。下面是我的实验结果

为简洁起见,我排除了其他字段

测试1

fmt.Println(result)
返回

{
  DBClusterSnapshots: [{
      Status: "available"
    }]
}
{
    Status: "available"
}
测试2

fmt.Println(result.DBClusterSnapshots[0])
返回

{
  DBClusterSnapshots: [{
      Status: "available"
    }]
}
{
    Status: "available"
}
测试3

fmt.Println(result.DBClusterSnapshots[0].Status)
返回对对象的引用

0xc0001e74c8

给出最后一个示例(测试3),我如何正确地解析它以获得@mkopriva指出的
状态值
“可用”

Status
是一个指针,因此在打算提取字符串时需要取消引用

因此,为了实现状态值的提取,我们可以这样取消对它的引用

s := *result.DBClusterSnapshots[0].Status
fmt.Println(s)

Status
似乎是一个指针,因此如果需要字符串,请取消对它的引用。@mkopriva您可以提供一个示例
s:=*p
(分配
s
p
指向的值)@mkopriva谢谢!!注意:这与“解析”或“json”无关。您有一个预定义结构类型的Go值,并且正在尝试使用(而不是点表示法)访问它的字段