Go Academy · पाठ

io उपयोगिता फ़ंक्शन

Copy, TeeReader, MultiWriter

पाठ 3, कुल 4 में से13 चरण

io उपयोगिता फ़ंक्शन, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

io टूलबॉक्स

io पैकेज रीडर और राइटर को मिलाने वाली छोटी, शक्तिशाली सहायक सुविधाएँ देता है: Copy, TeeReader, MultiWriter और अन्य।

io.Copy

io.Copy(dst, src) रीडर से सभी बाइट को राइटर तक प्रवाहित करता है और उनकी संख्या लौटाता है।

package main

import (
	"fmt"
	"io"
	"os"
	"strings"
)

func main() {
	n, _ := io.Copy(os.Stdout, strings.NewReader("copied\n"))
	fmt.Println("bytes:", n)
}

io.CopyN

io.CopyN(dst, src, n) ठीक n बाइट कॉपी करता है—ज्ञात लंबाई वाले प्रारंभिक हिस्से को पढ़ने के लिए उपयोगी।

package main

import (
	"io"
	"os"
	"strings"
)

func main() {
	io.CopyN(os.Stdout, strings.NewReader("abcdef"), 3)
	os.Stdout.WriteString("\n")
}

io.MultiWriter

io.MultiWriter एक ही राइट को एक साथ कई राइटर तक भेजता है—यूनिक्स के tee कमांड की तरह।

package main

import (
	"bytes"
	"fmt"
	"io"
	"os"
)

func main() {
	var buf bytes.Buffer
	w := io.MultiWriter(os.Stdout, &buf)
	io.WriteString(w, "to both\n")
	fmt.Println("buffer copy:", buf.String())
}

io.TeeReader

io.TeeReader(r, w) ऐसा रीडर लौटाता है जो पढ़ी गई हर चीज़ को w में कॉपी करता है—डेटा के प्रवाह के दौरान उसका लॉग दर्ज करने या हैश बनाने के लिए बिल्कुल उपयुक्त।

package main

import (
	"bytes"
	"fmt"
	"io"
	"strings"
)

func main() {
	var spy bytes.Buffer
	tee := io.TeeReader(strings.NewReader("stream"), &spy)
	io.ReadAll(tee)
	fmt.Println("observed:", spy.String())
}

io.MultiReader

io.MultiReader कई रीडर को जोड़कर एक सतत प्रवाह बनाता है।

package main

import (
	"fmt"
	"io"
	"strings"
)

func main() {
	r := io.MultiReader(strings.NewReader("Hello, "), strings.NewReader("World"))
	data, _ := io.ReadAll(r)
	fmt.Println(string(data))
}

io.Discard

io.Discard ऐसा राइटर है जो हर चीज़ को त्याग देता है—जिस रीडर की आवश्यकता न हो, उसे पूरी तरह पढ़ लेने के लिए उपयोगी।

package main

import (
	"fmt"
	"io"
	"strings"
)

func main() {
	n, _ := io.Copy(io.Discard, strings.NewReader("ignored"))
	fmt.Println("discarded:", n, "bytes")
}

TeeReader के साथ हैश बनाना

एक आम संयोजन यह है: किसी प्रवाह को उसके वास्तविक उद्देश्य के लिए पढ़ते रहें और साथ ही TeeReader उन्हीं बाइट को हैश में भेजता रहे, ताकि एक ही चरण में चेकसम निकाला जा सके।

io.Pipe

io.Pipe मेमोरी में राइटर को रीडर से जोड़ता है, अक्सर गो-रूटीन के बीच, ताकि उत्पादक और उपभोक्ता के बीच डेटा प्रवाहित किया जा सके।

सही सहायक सुविधा चुनना

  • डेटा स्थानांतरित करें: Copy / CopyN
  • आउटपुट की प्रतिलिपि बनाएँ: MultiWriter
  • इनपुट पर नज़र रखें: TeeReader
  • इनपुट जोड़ें: MultiReader
  • इनपुट को पूरी तरह पढ़ें: Discard

संयोज्यता

ये सभी सहायक सुविधाएँ io.Reader/io.Writer के साथ काम करती हैं, इसलिए इन्हें स्वतंत्र रूप से एक-दूसरे के भीतर रखकर और जोड़कर छोटे हिस्सों से जटिल डेटा-प्रवाह बनाए जा सकते हैं।

त्वरित जाँच

io उपयोगिता सुविधाओं के अपने ज्ञान का परीक्षण करें।

पुनरावलोकन

आपने io की उपयोगिता सुविधाएँ सीखीं।

  • Copy / CopyN डेटा प्रवाहित करते हैं
  • MultiWriter आउटपुट की प्रतिलिपियाँ बनाता है
  • TeeReader इनपुट पर नज़र रखता है
  • MultiReader इनपुट जोड़ता है और Discard उसे पूरी तरह पढ़ लेता है
  • सभी को रीडर/राइटर इंटरफ़ेस के माध्यम से जोड़ा जा सकता है
शुरुआत निःशुल्क

एआई शिक्षक के साथ Go सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “io उपयोगिता फ़ंक्शन” पाठ निःशुल्क है?

हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “io उपयोगिता फ़ंक्शन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“io उपयोगिता फ़ंक्शन” में मैं क्या सीखूँगा?

Copy, TeeReader, MultiWriter आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“io उपयोगिता फ़ंक्शन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Reader इंटरफ़ेस
  2. Writer इंटरफ़ेस
  3. io उपयोगिता फ़ंक्शन
  4. कस्टम Reader लागू करना
← Go Academy पर वापस जाएँ