io Yardımcı İşlevleri
Copy, TeeReader ve MultiWriter
io Yardımcı İşlevleri, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
io Araç Kutusu
io paketi, okuyucuları ve yazıcıları birleştiren küçük ama güçlü yardımcılar sunar: Copy, TeeReader, MultiWriter ve daha fazlası.
io.Copy
io.Copy(dst, src), bir okuyucudaki tüm baytları bir yazıcıya akış hâlinde aktarır ve sayıyı döndürür.
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) tam olarak n bayt kopyalar; bilinen uzunluktaki bir başlangıç bölümünü okumak için kullanışlıdır.
package main
import (
"io"
"os"
"strings"
)
func main() {
io.CopyN(os.Stdout, strings.NewReader("abcdef"), 3)
os.Stdout.WriteString("\n")
}io.MultiWriter
io.MultiWriter, tek bir yazma işleminin çıktısını aynı anda birkaç yazıcıya dağıtır; Unix'teki tee komutu gibi.
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), okuduğu her şeyi w içine kopyalayan bir okuyucu döndürür; veriler akarken günlükleme veya özetleme yapmak için idealdir.
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, birkaç okuyucuyu kesintisiz tek bir akışta birleştirir.
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, her şeyi atan bir yazıcıdır; ihtiyacınız olmayan bir okuyucunun verilerini tüketmek için kullanışlıdır.
package main
import (
"fmt"
"io"
"strings"
)
func main() {
n, _ := io.Copy(io.Discard, strings.NewReader("ignored"))
fmt.Println("discarded:", n, "bytes")
}TeeReader ile Özetleme
Klasik bir birleşim şöyledir: Bir akışı asıl amacı için okurken bir TeeReader aynı baytları bir özete aktarır; böylece sağlama toplamını tek geçişte hesaplarsınız.
io.Pipe
io.Pipe, bir yazıcıyı bellek içinde bir okuyucuya bağlar; üretici/tüketici düzenlerinde, çoğunlukla goroutine'ler arasında akış sağlamak için kullanılır.
Doğru Yardımcıyı Seçme
- Veri taşıma:
Copy/CopyN - Çıktıyı çoğaltma:
MultiWriter - Girdiyi gözlemleme:
TeeReader - Girdileri birleştirme:
MultiReader - Girdiyi tüketme:
Discard
Birleştirilebilirlik
Bu yardımcıların tümü io.Reader/io.Writer ile çalışır; bu nedenle küçük parçalardan gelişmiş işlem hatları oluşturmak üzere serbestçe iç içe yerleştirilebilir ve zincirlenebilirler.
Hızlı Kontrol
io yardımcıları bilginizi sınayın.
Özet
io yardımcılarını öğrendiniz.
Copy/CopyNverileri akış hâlinde taşırMultiWriterçıktıyı çoğaltırTeeReadergirdiyi gözlemlerMultiReadergirdileri birleştirir,Discardverileri tüketir- Tümü Okuyucu/Yazıcı arayüzleri üzerinden birleştirilebilir
Yapay zeka eğitmeniyle Go öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 51
- Dersler
- 203
Sıkça Sorulan Sorular
“io Yardımcı İşlevleri” dersi ücretsiz mi?
Evet — “io Yardımcı İşlevleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“io Yardımcı İşlevleri” dersinde ne öğreneceğim?
Copy, TeeReader ve MultiWriter Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“io Yardımcı İşlevleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Reader Arayüzü
- Writer Arayüzü
- io Yardımcı İşlevleri
- Özel Reader'lar Uygulama