2025-03-03
golang
00

接口的理解

在 Go 语言中,只要一个类型实现了某个接口,那么它就可以作为该接口的实例被使用

go
package main import "fmt" // 定义一个接口 Speaker type Speaker interface { Speak() } // 定义一个结构体 Dog type Dog struct{} // 让 Dog 实现 Speak 方法 func (d Dog) Speak() { fmt.Println("汪汪汪!") } // 定义一个结构体 Cat type Cat struct{} // 让 Cat 实现 Speak 方法 func (c Cat) Speak() { fmt.Println("喵喵喵!") } // 定义一个通用的说话函数 func MakeSpeak(s Speaker) { s.Speak() // 只要是实现了 Speaker 接口的类型都能调用 } func main() { dog := Dog{} cat := Cat{} // Dog 和 Cat 都实现了 Speaker 接口,因此可以作为 Speaker 传入 MakeSpeak(dog) MakeSpeak(cat) }

本文作者:曹子昂

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!