[英]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.