在我的項目,我需要,所以我使用貼圖(全局變量)Golang:多維字符串數組,而不是地圖
var url = make(map[string]string)
,我偶爾會到錯誤"Concurrent writes"
因爲我給你讀一個值作爲一個全局變量在函數中的值(不能分配全局,因爲它給出了一個錯誤的非聲明性語句)。
url["test"] = "http://google.com"
在PHP中,我可以很容易地通過multidimensioanl數組來做到這一點,並閱讀值。有沒有一種方法可以在Go中使用多維數組或地圖來分配並在函數中讀取它?
任何幫助表示讚賞。
Th錯誤並不是因爲你有一個地圖vs一個數組,這是因爲你有一個數據競賽。您需要保護全局地圖免受併發訪問。 – JimB
你如何調用寫入地圖的函數?一些代碼會有幫助。他們被稱爲goroutines嗎?如果是這樣,看看https://golang.org/pkg/sync/#Mutex – abhink
有什麼辦法來聲明和分配值的全球地圖? – ChrisDave