go語言不支援方法重載。 Go語言不支援重載是為了保持語言的簡單。現在Go語言可以嵌入C語言程式碼直接編譯,也可以編譯為動態函式庫或靜態函式庫,供其它語言呼叫;沒有重載,就少了很多混合程式的障礙。
本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
上面是在Go語言官方文件中的FAQ截圖。看來Go為什麼不支援重載這個問題困擾了很多開發者,有很多人提問,Go語言官方就做了上述回答。
在上面的回答中,其中有這樣一句話:Experience with other languages told us that having a variety of methods with the same name but different signatures was occasionally usefulbut that it could be confatures was occasionally usefulbut that it could be confatures and fragile in practice。
文中說:其他語言的經驗告訴我們,有各種同名但簽名不同的方法有時是有用的,但在實踐中也可能令人困惑和脆弱。
另外,Go官方接著說:在Go的類型系統中,僅透過名稱匹配並要求類型的一致性是一個主要的簡化決策。
官方部落格最後也說:關於運算子重載,似乎也是比較方便。但同樣的,沒有重載事情會比較簡單。
透過簡短的幾句話,我們大概可以看出來。 Go語言的設計者之所以沒有在Go中實現重載,其實並沒有多麼高深的理由,就是最核心的一個原則:讓Go保持足夠的簡單。 別小看這個簡單的描述,在我看來,堅持讓Go夠簡單,需要Go的設計者保持極大的克制。
總結:
Go 語言不支援重載是為了保持語言的簡單。現在 Go 語言可以嵌入 C 語言程式碼直接編譯,也可以編譯為動態函式庫或靜態函式庫,供其它語言呼叫。沒有重載,就少了很多混合程式的障礙。
以上是go語言支不支援方法重載的詳細內容。更多資訊請關注PHP中文網其他相關文章!