package main
import (
"fmt"
)
type Animal struct {
food, locomotion, sound string
}
func (v Animal) Eat() {
fmt.Println(v.food)
}
func (v Animal) Move() {
fmt.Println(v.locomotion)
}
func (v Animal) Speak() {
fmt.Println(v.sound)
}
func main() {
m := map[string]Animal{
"cow" : Animal{"grass","walk","moo"},
"bird" : Animal{"worms","fly","peep"},
"snake" : Animal{"mice","slither","hsss"},
}
for{
fmt.Print(">")
name:=""
action:=""
fmt.Scan(&name,&action)
if action=="eat"{
m[name].Eat()
} else if action=="move"{
m[name].Move()
} else if action=="speak"{
m[name].Speak()
}
}
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter