在go
的鍵在編程的類型很高。 GO採用類型主張和類型開關來促進此過程。本文深入研究了這些技術的性能特徵。 績效關注 package main 進口 ( “ FMT” “測試” ) func問題(任何接口{}){ 開關V:=任何東西。 (type){ 案例字符串: fmt.println(v) case int32,int64: fmt.println(v) case somecustomType: fmt.println(v) 預設: fmt.println(“未知”) } }
示例代碼使用類型開關來確定輸入變量的類型。在多個測試機上,結果始終揭示所有四個方法都以相似的速度執行:直接方法調用,接口實現,類型斷言和類型交換機。下面的示例演示了以下發現:
BenchmarkIntMethod-16 20000000 1.67 NS/OP BenchmarkInterface-16 1000000000 2.03 NS/OP Benchmarktypeswitch-16 20000000 1.70 NS/OP BenchmarkTypepePeaserSertion 16 20000000 1.67 ns/op 因此,與其他類型檢查方法相比,GO中的類型斷言和類型切換在GO中不要引起明顯的性能損害。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3