Maison > développement back-end > Golang > Comment vérifier si Stdin a des données en Go ?

Comment vérifier si Stdin a des données en Go ?

Mary-Kate Olsen
Libérer: 2024-11-02 04:08:02
original
885 Les gens l'ont consulté

How to Check if Stdin Has Data in Go?

Comment savoir si Stdin contient des données avec Go

Lorsque vous travaillez avec des flux d'entrée dans Go, vous pouvez rencontrer des situations où vous devez déterminer si os.Stdin dispose de données disponibles. Cela peut être utile dans divers scénarios, par exemple pour décider s'il faut procéder à la lecture d'une saisie ou afficher une invite à l'utilisateur.

Solution :

os.Stdin peut être traité comme n’importe quel autre descripteur de fichier dans Go. Pour vérifier s'il contient des données, vous pouvez examiner sa taille :

<code class="go">package main

import (
    "fmt"
    "os"
)

func main() {
    file := os.Stdin
    fi, err := file.Stat()
    if err != nil {
        fmt.Println("file.Stat()", err)
    }
    size := fi.Size()
    if size > 0 {
        fmt.Printf("%v bytes available in Stdin\n", size)
    } else {
        fmt.Println("Stdin is empty")
    }
}</code>
Copier après la connexion

Utilisation :

Vous pouvez compiler ce code dans un exécutable et l'utiliser comme un tuyau :

$ ./pipe
Stdin is empty
$ echo test | ./pipe
5 bytes available in Stdin
Copier après la connexion

Cet exemple démontre que lorsqu'aucune donnée n'est transmise vers stdin, le programme signale un stdin vide, et lorsque des données sont transmises, il indique correctement les octets disponibles.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal