怎樣刪除取出切片中的不重複元素,還不會造成記憶體逃逸
package main
import (
"fmt"
)
func uniqueSlice(slice *[]string) {
found := make(map[string]int)
total := 0
for i, val := range *slice {
if _, ok := found[val]; !ok {
(*slice)[total] = (*slice)[i]
found[val]++
total++
}
}
(*slice) = (*slice)[:total]
}
func main() {
s := []string{"1", "1", "3", "2", "4", "2", "3", "1", "4"}
uniqueSlice(&s)
fmt.Println(s)
}
MacBook-Pro:slice haoc$ go build -gcflags '-m' ./rm_duplicate.go
# command-line-arguments
./rm_duplicate.go:18:11: uniqueSlice ignoring self-assignment to *slice
./rm_duplicate.go:7:27: leaking param content: slice
./rm_duplicate.go:8:15: uniqueSlice make(map[string]int) does not escape
./rm_duplicate.go:22:15: []string literal escapes to heap
./rm_duplicate.go:24:13: s escapes to heap
./rm_duplicate.go:23:14: main &s does not escape
./rm_duplicate.go:24:13: main ... argument does not escape
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- win10怎麼刪除虛擬記憶體 刪除win10虛擬記憶體的方法Win10記憶體
- go中的記憶體逃逸Go記憶體
- Go記憶體逃逸分析Go記憶體
- Android-Fragment 切換造成記憶體溢位,導致記憶體增長AndroidFragment記憶體溢位
- 面試官:怎麼刪除 HashMap 中的重複元素?第 3 種實現思路,99% 的人不會!面試HashMap
- Go記憶體管理逃逸分析Go記憶體
- 在ArrayList的迴圈中刪除元素,會不會出現問題?
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- Remove Duplicate Letters 刪除重複元素REM
- JavaScript陣列中隨機取出不重複項JavaScript陣列隨機
- Redis的資料被刪除,佔用記憶體咋還那麼大?Redis記憶體
- [Redis]過期刪除和記憶體淘汰Redis記憶體
- ES6刪除字串中重複的元素字串
- AI晶片需要怎樣的記憶體?AI晶片記憶體
- win10怎樣刪虛擬記憶體_Win10虛擬記憶體如何關閉Win10記憶體
- 刪除重複id的記錄
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- 列表頁取出刪除編輯功能
- 在 4GB 實體記憶體的機器上,申請 8G 記憶體會怎麼樣?記憶體
- 造成記憶體洩漏的操作有哪些?記憶體
- windows10更新記錄刪除_怎樣刪除win10更新歷史記錄WindowsWin10
- 記憶體卡視訊刪除後怎麼恢復?三個步驟一看就會記憶體
- 什麼樣的文章會被刪除?
- 建立元素和刪除元素
- 電腦記憶體不夠用了怎麼辦 電腦記憶體不夠用的方法記憶體
- 怎樣新增、刪除、移動、複製、建立、查詢節點
- jQuery刪除元素jQuery
- jQuery 刪除元素jQuery
- win10關閉虛擬記憶體好嗎_win10刪除虛擬記憶體怎麼設定Win10記憶體
- 【CDB】怎樣修改PDB的記憶體引數記憶體
- return new物件造成溢位記憶體物件記憶體
- 造成記憶體洩漏的異常處理記憶體
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- 【Redis】過期鍵刪除策略和記憶體淘汰策略Redis記憶體
- Redis 中的過期刪除策略和記憶體淘汰機制Redis記憶體
- ArkTS 的記憶體快照與記憶體洩露除錯記憶體洩露除錯
- 為什麼刪除記錄表檔案不會減小?(記錄的插入與刪除在磁碟上的變化)