我嘗試循環地圖,將地圖作爲指向函數的指針傳遞,但我無法找到訪問元素的方法。這是代碼:Golang:使用其參考地址訪問地圖
func refreshSession(sessions *map[string]Session) {
now := time.Now()
for sid := range *sessions {
if now.After(*sessions[sid].timestamp.Add(sessionRefresh)) {
delete(*sessions, sid)
}
}
}
4號線在這個例子中返回以下編譯錯誤:
./controller.go:120: invalid operation: sessions[sid] (type *map[string]Session does not support indexing)
我試過括號,但它沒有任何效果。如果我拿走所有參考操作符(* &),那麼它編譯好。
我該怎麼寫呢?
問題,是否會有情況下,其似乎有一個地圖的關鍵是指針的x型? – Roylee 2016-05-09 00:33:03
你的意思是像'map [* T] string'嗎? – jmaloney 2016-05-09 00:51:47