Junior — Middle
Ի՞նչ տեղեկություններ կարելի է փոխանցել հավելվածում կոնտեքստի միջոցով։
sobes.tech AI
Պատասխան AI-ից
Go-ում սովորաբար տեղեկությունները, որոնք կապված են հարցման կամ գործողության կյանքի ցիկլի կառավարման հետ, փոխանցվում են context (context.Context`) միջոցով, օրինակ՝
- Գործողության չեղարկում (
Done()ալիքի միջոցով): - Ժամկետներ և ժամանակային սահմանափակումներ (
Deadline()): - Ամբողջ զանգվածի ընթացքում անհրաժեշտ արժեքներ, օրինակ՝ հարցումների նույնականացուցիչներ, հաստատման տոքեններ, մետադատվյալներ:
Մեծ օբյեկտներ, վիճակներ կամ տվյալներ, որոնք չեն կապված հարցման կառավարման հետ, չպետք է տեղադրվեն կոնտեքստում՝ նրա նպատակին չվնասելու և հիշողության արտահոսքերը կանխելու համար:
Կոնտեքստով արժեք փոխանցելու օրինակ՝
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")