1
0
mirror of https://github.com/MADTeacher/go_basics.git synced 2025-11-23 21:34:47 +02:00
Files
go_basics/part_2/2.1/2.1.7/1.go
2025-05-28 14:52:05 +03:00

32 lines
1.1 KiB
Go

package main
import "fmt"
type microwaveCreator func(dish string, model int) string
var microwaveIndex int = 0
func factory(microwaveName string, power int) microwaveCreator {
microwaveIndex++
model := fmt.Sprintf("%s-RU-001%d", microwaveName, microwaveIndex)
return func(dish string, mode int) string {
str := fmt.Sprintf("Микроволновка %s мощностью %d w Вт,", model, power)
str += fmt.Sprintf("греет блюдо %s в режиме %d", dish, mode)
return str
}
}
func main() {
microwave := factory("Scarlet", 800)
fmt.Println(microwave("Суп", 3))
fmt.Println(microwave("Пюре", 2))
newMicrowave := factory("LG", 1200)
fmt.Println(newMicrowave("Плов", 4))
}
/*
Микроволновка Scarlet-RU-0011 мощностью 800 w Вт,греет блюдо Суп в режиме 3
Микроволновка Scarlet-RU-0011 мощностью 800 w Вт,греет блюдо Пюре в режиме 2
Микроволновка LG-RU-0012 мощностью 1200 w Вт,греет блюдо Плов в режиме 4
*/