"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या यह जांचने का कोई तरीका है कि गो में मानक इनपुट (os.Stdin) में बिना अवरोध के डेटा है या नहीं?

क्या यह जांचने का कोई तरीका है कि गो में मानक इनपुट (os.Stdin) में बिना अवरोध के डेटा है या नहीं?

2024-11-15 को प्रकाशित
ब्राउज़ करें:698

Is there a way to check if standard input (os.Stdin) in Go has data without blocking?

गो के साथ स्टडिन में डेटा उपलब्धता कैसे निर्धारित करें

प्रश्न

गो में, क्या यह जांचने का कोई विश्वसनीय तरीका है कि इनपुट स्ट्रीम (ओएस) है या नहीं .Stdin) में डेटा है?

जब कोई डेटा उपलब्ध नहीं होता है तो स्ट्रीम से पढ़ने का पारंपरिक तरीका इसे ब्लॉक कर देता है, जिससे यह कुछ उपयोग के मामलों के लिए अव्यावहारिक हो जाता है।

उत्तर

के समान अन्य फ़ाइलों, os.Stdin का आकार निर्धारित करने के लिए निरीक्षण किया जा सकता है, जो डेटा उपलब्धता का पता लगाने के लिए एक सुविधाजनक विधि प्रदान करता है।

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")
    }
}

इस तकनीक का उपयोग करके, आप खाली और गैर-खाली stdin इनपुट के बीच अंतर कर सकते हैं, जिससे डेटा उपलब्धता की अधिक लचीली हैंडलिंग की अनुमति मिलती है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3