如何在Go中實現一個只使用一次查找從地圖彈出密鑰的函數?該版本能夠在地圖上兩個查找:使用一次查找從地圖中彈出一個值
package main
import "fmt"
func main() {
m := map[string]int{"a":1, "b":2}
a, ok := m["a"]
if ok {
delete(m, "a")
}
fmt.Println(a, m)
}
我也許檢查delete
回報刪除鍵值:
package main
func main() {
m := map[string]int{"a":1, "b":2}
println(delete(m, "a"))
}
但是,這並不工作:
prog.go:5: delete(m, "a") used as value
「Pop」是堆棧/堆的典型操作。地圖無序;套,如果你願意。改用['container/heap'](http://golang.org/pkg/container/heap/)。 – thwd
@tomwilde我的意思是'pop'就像在[Python dicts](https://docs.python.org/2/library/stdtypes.html#dict.pop) – warvariuc