第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將元素添加到 handlerfunc 中的切片并作為一個(gè)整體返回

將元素添加到 handlerfunc 中的切片并作為一個(gè)整體返回

Go
不負(fù)相思意 2021-10-04 16:02:19
我正在編寫一個(gè)服務(wù)來學(xué)習(xí) Go。我的主要功能可以在下面找到。它首先讀取一個(gè) XML 文件并將它們存儲在一個(gè)切片中。我有一個(gè)/rss端點(diǎn),它從存儲在“數(shù)據(jù)庫”中的項(xiàng)目輸出 RSS 提要。這工作正常。我還有一個(gè)端點(diǎn) ( /add/{base64}) 用于向該切片添加新項(xiàng)目。不幸的是,我不知道如何做到這一點(diǎn)。出于某種原因,我需要database用添加的記錄返回新的,這樣它就可以用于/rss. 但是如何?我的具體問題是:我知道如何添加記錄 database但我不知道如何返回完整的(包括添加的)數(shù)據(jù)庫,以便/rss端點(diǎn)能夠使用它。所以我想讓rest.AddArticle返回新數(shù)據(jù)庫,以便/rss端點(diǎn)知道添加的項(xiàng)目。func main() {defer glog.Flush()// read databasedatabase := model.ReadFileIntoSlice()// initialise mux routerr := mux.NewRouter()// http handlesr.HandleFunc("/add/{base64url}", rest.AddArticle(database))r.HandleFunc("/rss", rest.GenerateRSS(database))// start serverhttp.Handle("/", r)glog.Infof("running on port %d", *port)http.ListenAndServe(":"+strconv.Itoa(*port), nil)}或者是否有其他解決方案可以完成這項(xiàng)工作?我只想database通過所有軟件包提供。
查看完整描述

1 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

據(jù)我所知,問題是您正在寫入數(shù)據(jù)庫,但您正在從緩存版本中讀取數(shù)據(jù),因此 rss 的響應(yīng)并未反映發(fā)出請求時(shí)的模型。如果你看看這段代碼;


database := model.ReadFileIntoSlice()


// initialise mux router

r := mux.NewRouter()


// http handles

r.HandleFunc("/add/{base64url}", rest.AddArticle(database))

您需要以某種方式修改database. 有很多方法可以做到這一點(diǎn)。一些選項(xiàng)是 1) 在某個(gè)對象或包級別定義它,然后從AddArticle定義的任何地方直接修改它。2)刷新您的內(nèi)存版本,即在返回結(jié)果之前,再次從數(shù)據(jù)庫中讀取,這樣您就可以確保獲得最新的(obv 性能影響) 3)不要database按值傳遞,而是將參數(shù)設(shè)為指針。AddArticle正在獲取database您在 rss 調(diào)用中讀取的版本的副本而不是地址。您可以改為將指針傳遞給該方法,以便修改原始副本(隨著模型變大,它的性能也會大大提高)。


基于你的程序的簡單性,我可能會做 3。實(shí)際上 2 是一個(gè)更強(qiáng)大的解決方案,嚴(yán)肅的企業(yè)軟件可能需要更多類似的東西(如果你的應(yīng)用程序負(fù)載平衡或類似的東西,你的模型不起作用)。


查看完整回答
反對 回復(fù) 2021-10-04
  • 1 回答
  • 0 關(guān)注
  • 192 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號