亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

復制一片指針(指向新值)

復制一片指針(指向新值)

Go
汪汪一只貓 2023-06-12 15:40:32
我想制作一個包含指針的切片副本,以便新切片中的指針指向新值:假設s是原始切片,c是副本。那么改變*c[i]應該不會影響*s[i]。最短的方法是什么?
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

使用以下代碼復制值:


c := make([]*T, len(s))

for i, p := range s {


    if p == nil {

        // Skip to next for nil source pointer

        continue

    }


    // Create shallow copy of source element

    v := *p


    // Assign address of copy to destination.

    c[i] = &v

}

在操場上運行它。

此代碼創建值的淺表副本。根據應用程序要求,您可能想要深度復制值,或者如果是結構類型,則復制一個或多個字段。具體取決于實際類型 T 和應用要求。



查看完整回答
反對 回復 2023-06-12
  • 1 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號