mirror of
https://github.com/MADTeacher/go_basics.git
synced 2025-11-23 21:34:47 +02:00
32 lines
1.1 KiB
Go
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
|
|
*/
|