|
- package main
- import "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()
- }
复制代码
|
|