golang接口
package mainimport "fmt"
func main() {
/*
接口:interface
在Go中,接口是一组方法签名。
当某个类型为这个接口中的所有方法提供了方法的实现,它被成为实现接口。
Go语言中,接口和类型的实现关系,是非侵入式
1。当需要接口类型的对象时,可以使用任意实现类对象代替
2.接口对象不能访问实现类中的属性
*/
//1.创建Mouse
m1 := Mouse{"罗技小蓝"}
fmt.Println(m1.name)
//2.创建FlashDisk
f1 := FlashDisk{"闪迪64G"}
fmt.Println(f1.name)
testInterface(m1)
testInterface(f1)
var usb USB
usb = m1
usb.start()
usb.end()
}
// 1.定义接口
type USB interface {
start()
end()
}
// 2.实现类
type Mouse struct {
name string
}
type FlashDisk struct {
name string
}
func (m Mouse) start() {
fmt.Println(m.name, "鼠标,准备就绪,可以开始工作了,点点点。。。")
}
func (m Mouse) end() {
fmt.Println(m.name, "结束工作,可以安全退出。。。")
}
func (f FlashDisk) start() {
fmt.Println(f.name, "准备开始工作,可以进行数据的存储。。。")
}
func (f FlashDisk) end() {
fmt.Println(f.name, "准备开始工作,可以进行数据的存储。。。")
}
// 3.测试方法
func testInterface(usb USB) {
usb.start()
usb.end()
}
页:
[1]