package flags import "flag" func (flags *Flags) ParseFlags() (err error) { // Define parameters flag.StringVar(&flags.Vars.Role, "role", "scheduler", "Role of the instance ['scheduler','agent']") flag.StringVar(&flags.Vars.Address, "address", "127.0.0.1", "Address of the instance to listen to/connect to") flag.IntVar(&flags.Vars.Port, "port", 8080, "Port of the instance to listen on/connect to") flag.IntVar(&flags.Vars.NumCPUs, "numcpus", 1, "[agent] Number of CPUs to use") // Parse the flags flag.Parse() // Parse the role parameters err = flags.parseRole() if err != nil { return err } /// Parse the number of CPUs parameters err = flags.parseNumCPUs() if err != nil { return err } // Parse the address and port parameters err = flags.parseAddressPort() if err != nil { return err } // Return nil if no errors return }