@@ -273,7 +273,7 @@ func main() {
273273
274274تابع ` io.Copy ` داده را از یک ` io.Reader ` به یک ` io.Writer ` منتقل میکند تا زمانی که منبع به انتها برسد یا خطایی رخ دهد.
275275
276- ``` go
276+ {{< play >}}
277277package main
278278
279279import (
@@ -292,11 +292,11 @@ func main() {
292292
293293 fmt.Println("Copy completed successfully")
294294}
295- ```
295+ {{< /play >}}
296296
297297اگر بخواهیم فقط تعداد مشخصی بایت منتقل کنیم، میتوانیم از ` io.CopyN ` استفاده کنیم:
298298
299- ``` go
299+ {{< play >}}
300300package main
301301
302302import (
@@ -315,13 +315,13 @@ func main() {
315315
316316 fmt.Println("\nCopyN completed successfully")
317317}
318- ```
318+ {{< /play >}}
319319
320320### 4.27.3.2 io.MultiReader و io.MultiWriter
321321
322322- ** ` io.MultiReader ` ** چند Reader را به هم وصل میکند تا خروجیشان پشت سر هم خوانده شود.
323323
324- ``` go
324+ {{< play >}}
325325package main
326326
327327import (
@@ -337,11 +337,11 @@ func main() {
337337 mr := io.MultiReader(r1, r2)
338338 io.Copy(os.Stdout, mr)
339339}
340- ```
340+ {{< /play >}}
341341
342342- ** ` io.MultiWriter ` ** داده را همزمان به چند Writer ارسال میکند.
343343
344- ``` go
344+ {{< play >}}
345345package main
346346
347347import (
@@ -357,13 +357,13 @@ func main() {
357357 mw := io.MultiWriter(os.Stdout, file)
358358 io.Copy(mw, strings.NewReader("Hello MultiWriter\n"))
359359}
360- ```
360+ {{< /play >}}
361361
362362### 4.27.3.3 io.TeeReader
363363
364364` io.TeeReader ` داده را از یک Reader میخواند و در حین خواندن، همان داده را در یک Writer هم مینویسد.
365365
366- ``` go
366+ {{< play >}}
367367package main
368368
369369import (
@@ -379,13 +379,13 @@ func main() {
379379 // خواندن کامل باعث میشود داده هم روی stdout نوشته شود
380380 io.ReadAll(tr)
381381}
382- ```
382+ {{< /play >}}
383383
384384### 4.27.3.4 io.LimitReader و io.LimitWriter
385385
386386این توابع حجم داده را محدود میکنند.
387387
388- ``` go
388+ {{< play >}}
389389package main
390390
391391import (
@@ -399,13 +399,13 @@ func main() {
399399 limited := io.LimitReader(src, 7)
400400 io.Copy(os.Stdout, limited) // فقط ۷ بایت اول چاپ میشود
401401}
402- ```
402+ {{< /play >}}
403403
404404### 4.27.3.5 io.ReadAll
405405
406406` io.ReadAll ` تمام داده را تا پایان منبع (` io.EOF ` ) میخواند و در حافظه نگه میدارد (برای دادههای بزرگ باید با احتیاط استفاده شود).
407407
408- ``` go
408+ {{< play >}}
409409package main
410410
411411import (
@@ -422,13 +422,13 @@ func main() {
422422 }
423423 fmt.Println(string(all))
424424}
425- ```
425+ {{< /play >}}
426426
427427### 4.27.3.6 io.SectionReader
428428
429429` io.SectionReader ` اجازه میدهد فقط بخشی از یک منبع داده را بخوانیم.
430430
431- ``` go
431+ {{< play >}}
432432package main
433433
434434import (
@@ -451,7 +451,7 @@ func main() {
451451
452452 fmt.Printf("Section data: %s\n", buf)
453453}
454- ```
454+ {{< /play >}}
455455
456456## 4.27.4 کار با io.Pipe و ارتباط بین Goroutines
457457
0 commit comments