Go语言中interface类型怎么使用

55次阅读
没有评论

共计 755 个字符,预计需要花费 2 分钟才能阅读完成。

在 Go 语言中,接口(interface)是一种抽象类型,它定义了一组方法的集合。接口类型的变量可以存储任何实现了这些方法的具体类型的值。接口类型的使用步骤如下:

  1. 定义接口类型:使用 type 关键字定义接口类型,使用 interface 关键字指定接口的方法集合。例如:
type Shaper interface {Area() float64
    Perimeter() float64
}

上述代码定义了一个 Shaper 接口,该接口定义了两个方法 Area()Perimeter()

  1. 实现接口方法:为了使某个类型实现接口,只需要在该类型上实现接口中定义的所有方法。例如:
type Rectangle struct {width, height float64
}

func (r Rectangle) Area() float64 {return r.width * r.height
}

func (r Rectangle) Perimeter() float64 {return 2 * (r.width + r.height)
}

上述代码定义了一个 Rectangle 类型,并为其实现了 Shaper 接口中的方法。

  1. 使用接口类型:可以使用接口类型来声明变量,并将实现了接口的具体类型赋值给变量。例如:
var s Shaper
s = Rectangle{width: 5, height: 3}
fmt.Println(s.Area())
fmt.Println(s.Perimeter())

上述代码中,将一个 Rectangle 类型的值赋给接口类型的变量s,然后通过该变量调用接口中定义的方法。

需要注意的是,Go 语言的接口是隐式实现的,也就是说,只要一个类型实现了接口中定义的所有方法,那么该类型就被视为实现了该接口,无需显式声明。这一特性使得 Go 语言的接口非常灵活和易于使用。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-03-21发表,共计755字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)