Maison >développement back-end >Golang >Comment puis-je récupérer la sortie de la commande système sous forme de chaîne dans Go ?

Comment puis-je récupérer la sortie de la commande système sous forme de chaîne dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-18 17:11:24393parcourir

How Can I Retrieve System Command Output as a String in Go?

Récupération de la sortie des commandes système sous forme de chaîne dans Go

Lors de l'exécution de commandes système dans un programme Go, il est souvent souhaitable d'enregistrer la sortie sous une chaîne pour un traitement ultérieur ou un affichage. Ceci peut être réalisé à l'aide de la fonction exec.Command().

Dans les anciennes versions de Go, ce processus impliquait la gestion des arguments de fichier pour la sortie standard et les erreurs. Cependant, Go moderne propose une approche plus simple.

Solution avec Output() :

Pour capturer la sortie d'une commande système sous forme de tableau d'octets, utilisez Output( ) méthode de exec.Command(). Voici un exemple :

package main

import (
    "fmt"
    "log"
    "os/exec"
)

func main() {
    out, err := exec.Command("date").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("The date is %s\n", out)
}

La variable out contient la sortie standard de la commande date sous forme de tableau d'octets. Vous pouvez facilement le convertir en chaîne en utilisant string(out).

Alternative : CombinedOutput()

La méthode CombinedOutput() renvoie à la fois la sortie standard et l'erreur standard sous la forme un tableau d'octets, offrant un moyen pratique de capturer les deux types de sortie.

En résumé, en utilisant exec.Command() et les méthodes Output() ou CombinedOutput() vous permet de récupérer la sortie d'une commande système sous forme de chaîne ou de tableau d'octets dans Go, simplifiant ainsi le processus d'interaction avec les commandes externes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn