我正在使用sqlx編寫我的第一個Go項目,並且希望使用Prepared語句。在Go中初始化和保留預處理語句的建議方法是什麼?
我不確定什麼是建議的做法,以一個很好的可管理的方式初始化和保持Prepared語句變量。
我希望它們只能從實際使用它們的代碼部分訪問,到目前爲止,每個語句都由一個函數使用,所以全局變量不是一個好的選擇(除了通常被忽視之外) 。
在C/C++中,我可能會使用函數靜態變量,並在第一次輸入函數時對其進行初始化。這樣,關於聲明內容的信息和使用它的呼叫彼此接近。
但是從我所知道的到目前爲止Go上沒有「方法靜態變量」,那麼有什麼選擇?
我發現引用閉包,這是匿名函數,但這是實現這一目標的最佳方法嗎?我是否從「準備好的陳述最佳實踐」的角度來尋找正確的東西?
是的,我也想過這個選項。每次調用方法時,它還具有不測試準備好的語句的優點。 但它也將初始化和使用分開,看起來有點古怪。如果可能的話,我寧願嘗試尋找更優雅的東西。 –
@Amos Shapira - 好的,同意了。看到我更新的答案。 – IamNaN
謝謝。我將不得不研究這個(我是一個前進),看看它對我有多好。 –