package
0.0.0-20241126051518-7c5f7931d054
Repository: https://github.com/motty93/golang.git
Documentation: pkg.go.dev

# README

contextによる解決

「複数ゴルーチン間で安全に、そして簡単に情報伝達を行いたい」ときはチャネルだけで伝達を実現するのは難しい

  • 処理の締め切りを伝達
  • キャンセル信号の伝播
  • リクエストスコープ値の伝達 の3つについて、ゴルーチン上で起動される関数の第一引数に、context.Context型を1つ渡すだけで簡単に実現できる

contextの定義

type Context interface {
  Deadline() (deadline time.Time, ok bool)
  Done() <-chan struct{}
  Err() error
  Value(key interface{}) interface{}
}