Junior — Middle
რა ინფორმაციას შეიძლება გადმოსცეთ კონტექსტის მეშვეობით აპლიკაციაში?
sobes.tech AI
პასუხი AI-სგან
Go-ში ჩვეულებრივ, მოთხოვნის ან ოპერაციის სიცოცხლის ციკლის მართვასთან დაკავშირებული ინფორმაცია გადაეცემა context (context.Context`) საშუალებით, მაგალითად:
- ოპერაციის გაუქმება (
Done()არხის საშუალებით). - ვადები და დროის შეზღუდვები (
Deadline()-ით). - მნიშვნელობები, რომლებიც საჭიროა მთელი ზარის ჯაჭვის განმავლობაში, მაგალითად, მოთხოვნის იდენტიფიკატორები, ავტორიზაციის ტოკენები, მეტადატები.
მნიშვნელოვანია: კონტექსტში არ უნდა განთავსდეს დიდი ობიექტები, მდგომარეობები ან მონაცემები, რომლებიც არ უკავშირდება მოთხოვნის მართვას, რათა არ დაარღვიოს მისი დანიშნულება და თავიდან აიცილოს მეხსიერების გაჟონვა.
მნიშვნელობის გადაცემის მაგალითი კონტექსტის საშუალებით:
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")