golang接口入门

package main

import "fmt"

type Usb interface {
	Start()
	Stop()
}

//手机
type Phone struct {
}

//相机
type Camera struct {
}

//计算机
type Computer struct {
}

//手机实现USB接口方法
func (p Phone) Start() {
	fmt.Println("手机开始工作...")
}
func (p Phone) Stop() {
	fmt.Println("手机停止工作...")
}

//相机实现USB接口方法
func (c Camera) Start() {
	fmt.Println("相机开始工作...")
}
func (c Camera) Stop() {
	fmt.Println("相机停止工作...")
}

//编写一个方法Working,接收一个USB接口类型变量
//实现了USB接口的所有方法
func (c Computer) Working(usb Usb) {
	//通过usb接口变量调用start和stop方法
	usb.Start()
	usb.Stop()
}

func main() {

	computer := Computer{}
	phone := Phone{}
	camera := Camera{}

	computer.Working(phone)
	computer.Working(camera)

}

  

posted @ 2022-03-10 12:32  Star_Gazer  阅读(69)  评论(0编辑  收藏  举报