Go 語言的 interface,範例如下
type Abser interface {
Abs() float64
}
其中的 Abs() float64 可以被改寫成抽象語法 Abs : () -> float64。因此一個 interface
有一組與其關聯的一系列簽名
。並且,對 Go 而言下列的兩個 interface 並沒有差異
type A interface {
F(C) D
}
type B interface {
F(C) D
}
因此我們可以更進一步認為 Go 的一個 interface 可以完全由其簽名 替換。