package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/route53"
)
func main() {
sess := session.Must(session.NewSession())
client := route53.New(sess)
zones, err := client.ListHostedZones(&route53.ListHostedZonesInput{
MaxItems: aws.String("100"),
})
if err != nil {
fmt.Printf("Error occurred")
}
fmt.Printf("%v", zones)
if zones.IsTruncated {
fmt.Printf("%v", zones.NextMarker)
}
}
由于以下情况,上面的代码失败。
if zones.IsTruncated {
fmt.Printf("%v", zones.NextMarker)
}
结果是
non-bool zones.IsTruncated (type *bool) used as if condition
我想知道的是为什么常规类型(bool)和类型(* bool)之间存在差异。我知道一个是指针值,但是条件应该仍然有用。
这是没有条件的输出的尾部片段
IsTruncated: true,
MaxItems: "100",
NextMarker: "Wouldn'tYouLikeToKnow"
}