2 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個贊
在Go中,數(shù)組與切片不同。切片可以為nil,但數(shù)組不能為null,因?yàn)樗鼈兪庆o態(tài)的。
在上面的代碼中,在第1行中,的內(nèi)容isPrime
實(shí)際上[false false false ...]
具有您的size變量所允許的錯誤值。
因此,您的數(shù)組實(shí)際上無法刪除或調(diào)整大小。它只能是零值。
如果您確實(shí)需要調(diào)整其大小,建議您改用切片,或創(chuàng)建具有新大小的新數(shù)組,然后將先前數(shù)組的內(nèi)容復(fù)制到其中。

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個贊
Go是一種垃圾回收語言,您無法從內(nèi)存中刪除對象,只能“清除”它們。有關(guān)詳細(xì)信息,請參見如何在go中刪除struct對象?您也不能調(diào)整數(shù)組的大小,數(shù)組的大小是固定的(并且大小是類型的一部分)。
要清除數(shù)組,您可以為其分配零值(不是nil)。對零值數(shù)組使用復(fù)合文字,例如[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]
- 2 回答
- 0 關(guān)注
- 399 瀏覽
添加回答
舉報(bào)