存取字串中的隨機符文元素
問題
背景
Go 字串儲存 UTF-8 編碼的位元組序列。雖然“for ... range”循環允許高效解碼和檢索符文,但無法透過“str.At(i)”等直接函數存取符文。這使得開發人員尋找頻繁存取符文的替代方法。解決方案
如提供的回應所述,存在以下限制:建議
為了優化效能,請考慮將輸入字串轉換為符文切片 ([]rune)如果經常需要符文存取。與字串(實際上是唯讀位元組切片)不同,符文切片允許高效索引。替代
如果輸入轉換不可行,可以實現快取將字串對應到其對應的符文切片。這提高了涉及一小組重複字串的情況的效能。但是,對於唯一或不常見的字串,快取可能會變得低效並消耗過多的記憶體。範例
以下程式碼片段示範了用於符文檢索的簡單快取實作:以上是如何在不使用For迴圈的情況下高效存取Go字串中的隨機符文?的詳細內容。更多資訊請關注PHP中文網其他相關文章!