Skip to content

Commit a9a5441

Browse files
committed
chore: fix playground some example
1 parent 433ca18 commit a9a5441

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

content/chapter 4/4.27-io-package.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ func main() {
273273

274274
تابع `io.Copy` داده را از یک `io.Reader` به یک `io.Writer` منتقل می‌کند تا زمانی که منبع به انتها برسد یا خطایی رخ دهد.
275275

276-
```go
276+
{{< play >}}
277277
package main
278278

279279
import (
@@ -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 >}}
300300
package main
301301

302302
import (
@@ -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 >}}
325325
package main
326326

327327
import (
@@ -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 >}}
345345
package main
346346

347347
import (
@@ -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 >}}
367367
package main
368368

369369
import (
@@ -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 >}}
389389
package main
390390

391391
import (
@@ -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 >}}
409409
package main
410410

411411
import (
@@ -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 >}}
432432
package main
433433

434434
import (
@@ -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

Comments
 (0)