本文實(shí)例講述了Go語言接口用法。分享給大家供大家參考。具體分析如下:
接口類型是由一組方法定義的集合。
接口類型的值可以存放實(shí)現(xiàn)這些方法的任何值。
復(fù)制代碼 代碼如下:
package main
import (
"fmt"
"math"
)
type Abser interface {
Abs() float64
}
func main() {
var a Abser
f := MyFloat(-math.Sqrt2)
v := Vertex{3, 4}
a = f // a MyFloat implements Abser
a = v // a *Vertex implements Abser
a = v // a Vertex, does NOT
// implement Abser
fmt.Println(a.Abs())
}
type MyFloat float64
func (f MyFloat) Abs() float64 {
if f 0 {
return float64(-f)
}
return float64(f)
}
type Vertex struct {
X, Y float64
}
func (v *Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
希望本文所述對大家的Go語言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- go語言實(shí)現(xiàn)接口查詢
- Go語言接口定義與用法示例
- go語言接口用法實(shí)例分析
- Go語言排序與接口實(shí)例分析
- 一篇文章帶你玩轉(zhuǎn)go語言的接口