Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengesan Ketersediaan Data dalam Input Standard (Stdin) Go?

Bagaimana untuk Mengesan Ketersediaan Data dalam Input Standard (Stdin) Go?

Susan Sarandon
Susan Sarandonasal
2024-11-01 11:17:02447semak imbas

How to Detect Data Availability in Go's Standard Input (Stdin)?

Mengesan Ketersediaan Data dalam Input Standard (Stdin) Menggunakan Go

In Go, aliran input standard (os.Stdin) boleh disemak untuk data menggunakan teknik mengesahkan saiz failnya. Begini cara ia berfungsi:

Os.Stdin boleh diuruskan seperti mana-mana fail biasa, membolehkan kami memeriksa sifatnya. Untuk melakukan ini, kami mendapatkan semula objek FileInfo menggunakan os.Stdin.Stat(). Objek ini menyediakan pelbagai maklumat tentang fail, termasuk saiznya.

Dengan menyemak saiz fail, kita boleh menentukan sama ada strim Stdin mengandungi data. Jika saiznya lebih besar daripada sifar, ia menunjukkan kehadiran data. Sebaliknya, saiz sifar menunjukkan bahawa Stdin kosong.

Di bawah ialah contoh kod yang menunjukkan kaedah ini:

<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>

Teknik ini menyediakan cara yang berkesan untuk menentukan sama ada os.Stdin mempunyai data tanpa menyekat pelaksanaan program sementara menunggu input. Ia amat berguna dalam kes di mana anda perlu mengendalikan data masuk secara dinamik daripada sumber atau proses luaran.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Ketersediaan Data dalam Input Standard (Stdin) Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn