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 ფუნქციებს, რომლებიც შეიძლება შემოწმდნენ გაუქმება, დედლაინი ან მიიღონ მნიშვნელობები
ამგვარად, კონტექსტი შეიცავს მეტადონებს და მართავს ოპერაციების სიცოცხლის ციკლს პროგრამაში.