package main import ( "fmt" "os" "encoding/binary" "strconv" ) func fak(x int) int { if x==0 { return 1 } x = x * fak(x-1) return x } func check(e error) { if e != nil { panic(e) } } func writeInt64(filename string, n int64) { f, err := os.Create(filename) check(err) defer f.Close() err = binary.Write(f, binary.LittleEndian, n) check(err) } func readArg() int { if len(os.Args) < 2 { panic("Zu wenig Argumente\nEingabeZahl erwartet") } eingabeString := os.Args[1] eingabe, err := strconv.Atoi(eingabeString) check(err) return eingabe } func main() { eingabe := readArg() ergebnis := fak(eingabe) fmt.Println(ergebnis) writeInt64("fak.txt", int64(ergebnis)) }