Go 中的類型斷言和類型切換:對效能的影響
類型自省是檢查物件運行時類型的常用技術。然而,人們對其性能影響產生了擔憂。在本文中,我們探討了 Go 中類型斷言和類型切換的速度,並將它們與其他類型檢查方法進行比較。
類型發現效能
在 Go 中,輸入斷言和類型開關提供了一種在運行時識別物件類型的便捷方法。雖然眾所周知,這些機制可能會在 C/C 等語言中產生效能成本,但它們在 Go 中的影響還很有限。
基準評估
評估效能對於類型斷言和類型開關,我們建立了一個基準測試腳本(可在http://play.golang.org/p /E9H_4K2J9-)。此測試比較了四種方法:
結果和分析
基準測試結果表明,所有四種方法都具有可比性速度:
更新結果(2019 年10 月 9日):
之前的結果( 1月19日, 2015):
介面:2.98 ns/op型開關:16.7 ns/op
型態斷言:13.8 ns/op
結論結論 >與預期相反,與其他類型相比,Go中的類型斷言和類型切換對效能的影響最小檢查方法。這意味著開發人員可以使用這些技術,而不必擔心運行時成本。我們的基準測試表明,所有四種方法都具有相當的速度,使它們適合在性能關鍵型應用中使用。以上是Go 的型別斷言和型別切換到底有多快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!