package main
import (
“fmt”
)
定义类
type EatInterface struct {
Face string
Eye string
Hand string
Mouse string
}
定义方法 不可修改
func (e EatInterface) Food() {
fmt.Print(“eat sequence is:\n”)
fmt.Print(" " + e.Eye + " “)
fmt.Print(” " + e.Hand + " “)
fmt.Print(” " + e.Mouse + " “)
fmt.Print(”\neat end")
}
定义方法 可修改
func (e *EatInterface) SetValue(face string, eye string, hand string, mouse string) {
e.Eye = eye
e.Hand = hand
e.Mouse = mouse
e.Face = face
}
定义接口
type IEat interface {
Food()
SetValue(face string, eye string, hand string, mouse string)
}
//变量私有化
type eatInterface1 struct {
face string
eye string
hand string
mouse string
}
func PrivNew() eatInterface1 {
return eatInterface1{
face: “face1”,
eye: “eye1”,
hand: “hand1”,
mouse: “mouse1”,
}
}
func Food(e eatInterface1) {
fmt.Print(“eat sequence is:\n”)
fmt.Print(" " + e.eye + " “)
fmt.Print(” " + e.hand + " “)
fmt.Print(” " + e.mouse + " “)
fmt.Print(”\neat end")
}
使用
func main(){
var Pe IEat =new(EatInterface)
Pe.SetValue(“face”, “eye”, “hand”, “mouse”)
Pe.Food()
变量私有
Food(PrivNew())
}