typestar

Flags de línea de comandos en Go

El paquete flag declara, parsea y documenta la interfaz.

func parseArgs(args []string) (string, int, bool, []string, error) {
    set := flag.NewFlagSet("typestar", flag.ContinueOnError)
    set.SetOutput(io.Discard)

    lang := set.String("lang", "go", "language to practice")
    seconds := set.Int("seconds", 60, "sprint length")
    editor := set.Bool("editor", false, "editor mode")

    if err := set.Parse(args); err != nil {
        return "", 0, false, nil, fmt.Errorf("parse flags: %w", err)
    }
    return *lang, *seconds, *editor, set.Args(), nil
}

Cómo funciona

  1. Cada llamada devuelve un puntero al valor parseado.
  2. flag.Args guarda lo que quedó después de los flags.
  3. Un FlagSet evita que una prueba toque el global.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
466
Tokens
128
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 73 segundos.

Escribe este fragmento

Paso 1 de 2 en Programas y logging; paso 14 de 26 en Biblioteca estándar y estructura del proyecto.

← Anterior Siguiente →