gopl-zh.github.com/ch7/ch7.md
2015-12-18 14:49:31 +08:00

8 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第七章 接口
接口類型是對其它類型行爲的抽象和概括;因爲接口類型不會和特定的實現細節綁定在一起,通過這種抽象的方式我們可以讓我們的函數更加靈活和更具有適應能力。
很多面向對象的語言都有相似的接口概念但Go語言中接口類型的獨特之處在於它是滿足隱式實現的。也就是説我們沒有必要對於給定的具體類型定義所有滿足的接口類型簡單地擁有一些必需的方法就足夠了。這種設計可以讓你創建一個新的接口類型滿足已經存在的具體類型卻不會去改變這些類型的定義當我們使用的類型來自於不受我們控製的包時這種設計尤其有用。
在本章我們會開始看到接口類型和值的一些基本技巧。順着這種方式我們將學習幾個來自標準庫的重要接口。很多Go程序中都盡可能多的去使用標準庫中的接口。最後,我們會在(§7.10)看到類型斷言的知識,在(§7.13)看到類型開關的使用併且學到他們是怎樣讓不同的類型的概括成爲可能。