Sobes.tech
Junior — Middle

Функсияи оператори `*` дар забони Go чист, махсусан дар робита бо ишорагарон?

sobes.tech AI

Ҷавоб аз AI

Дар забони Go, оператор * барои кор бо ишорагарон истифода мешавад ва ду вазифаи асосиро иҷро мекунад:

  1. Дереференси кардани ишорагар — гирифтани арзише, ки ишорагар нишон медиҳад.

  2. Эълон кардани ишорагар — вақте ки тағйирёбандаро бо * эълон мекунем, нишон медиҳад, ки он ишорагар ба як навъ аст.

Масалан:

var a int = 10
var p *int = &a  // p ишорагар ба a
fmt.Println(*p)   // чоп мекунад 10 — арзише, ки p нишон медиҳад

*p = 20           // тағйир додани арзиши a тавассути ишорагар
fmt.Println(a)    // чоп мекунад 20

Ин тариқ, * имкон медиҳад, ки бо суроғаҳо ва арзишҳо дар хотира кор кунед, ва назорати пасти сатҳро дар бораи маълумот таъмин мекунад.