Go 中的字串操作:為什麼方法被單獨打包
在程式語言Go 中,字串操作函數駐留在“ strings”包中而不是直接在“字串”類型上定義。這種設計決策激發了人們的好奇心,引發了這樣一個問題:為什麼 Go 的方法與其他允許基本類型方法的語言不同。
一種理論表明,這種分離可以防止在實現字串操作函數的自訂版本時發生衝突。然而,這個理論缺乏基礎支持。
Go 的設計哲學
這種設計選擇的根本原因在於 Go 的指導原則。正如 Go 的創建者之一 Rob Pike 所說,為了保持語言的簡單性,故意省略了基本類型的方法。
方法定義的含義
在 Go 中,方法可以只能在屬於同一包的類型上定義。由於「字串」是語言本身實現的內建類型,因此在不引入複雜性的情況下向其添加方法將具有挑戰性。
打包方法的優點
透過單獨封裝字串操作函數,Go 實現了幾個優點:
其他觀點
Pike 進一步強調,反對基本類型方法的決定是謹慎做出的,並且植根於簡化語言的願望。他還指出,「strings」套件提供了一套全面的字串操作功能,如果整合到基本的「string」類型中,這些功能可能會變得笨拙。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3