You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
682 B

package main
4 years ago
import "fmt"
4 years ago
const (
CLOSE = iota
OPEN
)
type Door struct {
State int
}
func CloseDoor(ptrDoor *Door) {
4 years ago
fmt.Println("Door Closing...")
ptrDoor.State = CLOSE
}
func OpenDoor(ptrdoor *Door) {
4 years ago
fmt.Println("Door Opening...")
ptrdoor.State = OPEN
}
func IsDoorOpened(ptrDoor *Door) bool {
4 years ago
fmt.Println("is the Door opened ?")
return ptrDoor.State == OPEN
}
func IsDoorClosed(ptrDoor *Door) bool {
4 years ago
fmt.Println("is the Door closed ?")
return ptrDoor.State == CLOSE
}
func main() {
var door Door
OpenDoor(&door)
if IsDoorClosed(&door) {
OpenDoor(&door)
}
if IsDoorOpened(&door) {
CloseDoor(&door)
}
if door.State == OPEN {
CloseDoor(&door)
}
}