package cmd import ( "flag" "fmt" ) func balance(args []string) error { fs := flag.NewFlagSet("balance", flag.ExitOnError) var userId int64 fs.Int64Var(&userId, "userId", 0, "Id of user (required)") fs.Parse(args) if userId <= 0 { fs.Usage() return fmt.Errorf("Missing userId") } tx, err := readDb() if err != nil { return err } total := float64(0) for _, r := range tx.Records { if r.UserId == uint64(userId) { total += r.Amount } } fmt.Printf("UserId: %d\n", userId) fmt.Printf("Balance: %f\n", total) return nil }