43 lines
752 B
Go
43 lines
752 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
s := parseSettings()
|
|
|
|
var processor func(*settings, io.Writer) error
|
|
|
|
switch s.OM {
|
|
case outputpng:
|
|
processor = createBarnsleyFernPng
|
|
case outputvideo:
|
|
processor = createBarnsLeyFernVideo
|
|
default:
|
|
fmt.Println("неизвестный тип вывода:", s.OM)
|
|
return
|
|
}
|
|
|
|
file, err := os.Create(s.Fname)
|
|
if err != nil {
|
|
fmt.Println("ошибка открытия файла", err)
|
|
return
|
|
}
|
|
|
|
defer func() {
|
|
if err := file.Close(); err != nil {
|
|
fmt.Println("ошибка закрытия файла", err)
|
|
}
|
|
}()
|
|
|
|
if err := processor(s, file); err != nil {
|
|
fmt.Println("ошибка создания объекта:", err)
|
|
return
|
|
}
|
|
|
|
fmt.Println("done...")
|
|
}
|