Avatar ·

كيفية تحويل io.Reader إلى سلسلة نصية في Go؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة. لدي دالة تُرجع `io.Reader` (مثل استجابة من طلب HTTP أو محتوى ملف). أحتاج إلى الحصول على هذه البيانات كسلسلة نصية عادية لمعالجتها لاحقًا (تحليل JSON، أو إخراجها في السجل، أو ببساطة حفظها في متغير). إليك مثال على الكود الذي أحاول كتابته: ```go package main import ( "fmt" "io" "net/http" ) func main() { resp, err := http.Get("https://api.example.com/data") if err != nil { panic(err) } defer resp.Body.Close() // هنا المشكلة: resp.Body هو io.ReadCloser (io.Reader + Close) // كيف يمكنني الحصول على سلسلة نصية منه؟ var result string // ماذا أكتب هنا؟ fmt.Println(result) } ``` لقد حاولت القراءة بايتًا بايت يدويًا، لكن هذا مرهق جدًا. سمعت أن هناك حزمة `ioutil`، لكن في الإصدارات الأخيرة من Go تم إعلانها قديمة. أرشدوني إلى الطريقة الصحيحة والبسيطة لتحويل `io.