"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo analizar varios valores en una lista usando indicadores personalizados en Golang?

¿Cómo puedo analizar varios valores en una lista usando indicadores personalizados en Golang?

Publicado el 2024-12-22
Navegar:475

How can I parse multiple values into a list using custom flags in Golang?

Marca personalizada para listas en Golang

El paquete de banderas de Golang permite un fácil análisis de argumentos, pero generalmente admite tipos básicos como cadena, entero, o booleano. Esto puede parecer limitante cuando se trabaja con listas de valores.

Golang permite la creación de indicadores personalizados implementando la interfaz flag.Value. Esta interfaz requiere la implementación de dos métodos: String() y Set(). Al definir un indicador personalizado para listas, puede habilitar el análisis de múltiples valores pasados ​​a través de indicadores de línea de comandos.

Definición de un indicador de lista personalizado

Considere el siguiente ejemplo :

package main

import "flag"
import "fmt"

type arrayFlags []string

// String() implements the flag.Value interface
func (i *arrayFlags) String() string {
    return fmt.Sprintf("%v", *i)
}

// Set() implements the flag.Value interface
func (i *arrayFlags) Set(value string) error {
    *i = append(*i, value)
    return nil
}

var myFlags arrayFlags

func main() {
    flag.Var(&myFlags, "list1", "Some description for this param.")
    flag.Parse()
    fmt.Println(myFlags)
}

Esto define un tipo de indicador personalizado llamado arrayFlags que acepta múltiples valores. La bandera está vinculada al nombre de la bandera "lista1" y se puede analizar usando flag.Parse().

Uso

Para pasar múltiples valores usando esta bandera personalizada, puede ejecutar el programa de la siguiente manera:

go run your_file.go --list1 value1 --list1 value2 --list1 value3

Esto completará el Variable myFlags con los tres valores proporcionados: ["valor1", "valor2", "valor3"]. Luego podrá acceder a estos valores dentro de su programa.

Playground

Para ver un ejemplo en vivo, puede visitar el siguiente patio de juegos: [playground link]

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3