في Go، هل هناك طريقة موثوقة للتحقق مما إذا كان تدفق الإدخال (نظام التشغيل .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