Sobes.tech
Junior — Middle

რა ელემენტები შეიძლება შეიტანოს პროგრამის მიმდინარე შესრულების კონტექსტში?

sobes.tech AI

პასუხი AI-სგან

Go (Golang) პროგრამის მიმდინარე კონტექსტი ჩვეულებრივ წარმოდგენილია ტიპით context.Context. იგი გამოიყენება შესრულების მდგომარეობის, გაუქმების ოპერაციების და დროის ზღვართა გადაცემისთვის გორუტინებს შორის.

კონტექსტში შეიძლება იყოს ჩართული შემდეგი ელემენტები:

  • გაუქმება (Cancellation) — სიგნალი, რომ ოპერაცია უნდა შეწყდეს.
  • დედლაინი (Deadline) — დრო, როდესაც ოპერაცია ითვლება ვადაგასულად.
  • მნიშვნელობები (Values) — გასაღები-მნიშვნელობის წყვილები დამატებითი ინფორმაციის გადასაცემად (მაგალითად, მოთხოვნის იდენტიფიკატორები, ავტორიზაციის ტოკენები).

გამოყენების მაგალითი:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

ctx = context.WithValue(ctx, "requestID", "12345")

// გადმოცემა ctx ფუნქციებს, რომლებიც შეიძლება შემოწმდნენ გაუქმება, დედლაინი ან მიიღონ მნიშვნელობები

ამგვარად, კონტექსტი შეიცავს მეტადონებს და მართავს ოპერაციების სიცოცხლის ციკლს პროგრამაში.