Соглашение в Go: первый параметр функций - часто ctx context.Context. Удобно для цепочек вызовов и видимости: контекст всегда на одном месте. Рекомендация из официального блога и стайлгайдов. Не жёсткое правило языка.
func Do(ctx context.Context, a int) error