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

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

在go中刪除或調整數組大小

在go中刪除或調整數組大小

Go
Cats萌萌 2021-04-02 18:19:48
我需要在CalRange函數調用后刪除或調整isPrime數組的大?。╥sPrime = nil不起作用)isPrime := [size]bool{}CalRange(size, max?ndex, isPrime[:])isPrime = nil謝謝大家的回答,我這樣解決了。如何在Go中刪除struct對象?person1 := &Person{name: "Name", age: 69}// work with person1// Clear person1:person1 = nil
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

在Go中,數組與切片不同。切片可以為nil,但數組不能為null,因為它們是靜態的。

在上面的代碼中,在第1行中,的內容isPrime實際上[false false false ...]具有您的size變量所允許的錯誤值。

因此,您的數組實際上無法刪除或調整大小。它只能是零值。

如果您確實需要調整其大小,建議您改用切片,或創建具有新大小的新數組,然后將先前數組的內容復制到其中。


查看完整回答
反對 回復 2021-04-19
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

Go是一種垃圾回收語言,您無法從內存中刪除對象,只能“清除”它們。有關詳細信息,請參見如何在go中刪除struct對象?您也不能調整數組的大小,數組的大小是固定的(并且大小是類型的一部分)。


要清除數組,您可以為其分配零值(不是nil)。對零值數組使用復合文字,例如[size]bool{}:


const size = 4

isPrime := [size]bool{true, true}

fmt.Println(isPrime)


isPrime = [size]bool{}

fmt.Println(isPrime)

輸出(在Go Playground上嘗試):


[true true false false]

[false false false false]


查看完整回答
反對 回復 2021-04-19
  • 2 回答
  • 0 關注
  • 393 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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