---
title: 單堂課模板
type: lesson
status: draft
domain: go
level: fundamental
slug: lesson-template-zh
lang: zh-Hant
---

## 這堂課講什麼

channel 的緩衝容量有上限。

## 動手做什麼

這段程式會印出什麼？

```go
package main

import "fmt"

func main() {
    ch := make(chan int, 1)
    ch <- 42
    fmt.Println(<-ch)
}
```

> [!question]- 執行結果
> `42`。值先留在緩衝區，再由 receive 取出。若在接收前再送一個值，就會阻塞。

## 這堂課假設你已經會什麼

函式與變數。發送、接收的條件見 [[channel 的交接]]。
