[英]Converting Slice pointer to Slice in go
我有一些方法可以返回切片指针中的数据,现在我必须将其转换为切片数组。 如何将切片指针转换为切片数组。
peerRoundState, err := s.nodeview.PeerRoundStates()
fmt.Println("This return value is slice pointer", peerRoundState)
if err != nil {
return nil, err
}
//PeerRoundStates this is type of slice.
return &ConsensusResponse{
RoundState: s.nodeview.RoundState().RoundStateSimple(),
PeerRoundStates: peerRound,
}, nil
我想将切片指针的peerRoundState类型转换为PeerRoundStates切片数组。
对于slice,您必须谨慎使用值slice而不是指针val := *ptr
,因为两者都将指向相同的数据数组地址。 在切片指针中完成的更改也将反映在值切片上,因为切片数据结构包含对实际数据数组的引用。
查看操场示例中从指针到值的2种分配情况。 这里描述了两种情况:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.