go 接口

 

隱式 接口spa

接口類型是由一組方法定義的集合。指針

接口類型的值能夠存放實現這些方法的任何值。 接口

類型經過實現那些方法來實現接口。 沒有顯式聲明的必要;因此也就沒有關鍵字「implements「。import

隱式接口解藕了實現接口的包和定義接口的包:互不依賴。float

package main

import (
    "fmt"
    "math"
)
//定義接口
type calc interface{
    Abs() float64
}
//定義結構Vertex
type Vertex struct {
    X, Y float64
}
// Vertex實現Abs方法 接受者是指針 v *Vertex
func (v *Vertex) Abs() float64 {
    return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
//定義結構Person
type Person struct{
    age int
}
// Person實現Abs方法 接受者是 值類型Person
func (p Person) Abs() float64{
    return float64(p.age)
}
func main() {
    //v是指針
    v := &Vertex{3, 4}
    //p是值類型
    p:=Person{age:23}
    fmt.Println( v.Abs(),p.Abs())
}

保持進步
但願每一個人都能找到本身喜歡的方式生活、工做。方法

相關文章
相關標籤/搜索