Sobes.tech
Senior

Ինչ կարող ես ասել Go-ում քարտեզների մասին?

sobes.tech AI

Պատասխան AI-ից

Go-ում քարտը ներքին տվյալների տիպ է, որը իրականացնում է ասոցացական զանգված կամ բառարան, որտեղ բանալիները համընկնում են արժեքների հետ:

Go-ի քարտի առանձնահատկությունները՝

  • Բանալիները և արժեքները ունեն սահմանված տիպեր, օրինակ՝ map[string]int — բանալիները տողեր են, արժեքները ամբողջ թվեր:
  • Քարտը սկսվում է make ֆունկցիայի միջոցով, օրինակ՝ m := make(map[string]int):
  • Միջնորդների մուտքագրման համար օգտագործվում է m[key]:
  • Եթե բանալին չկա, վերադարձվում է արժեքի զրոյական արժեքը:
  • Բանալիի առկայությունը կարելի է ստուգել երկրորդ վերադարձվող արժեքով՝ val, ok := m[key]:
  • Քարտերը կարգավորված չեն, անցման կարգը պատահական է:
  • Քարտերը անվտանգ չեն միաժամանակյա հոսքերի համար, անհրաժեշտ է օգտագործել սինխրոնիզացիա:

Օրինակ՝

package main
import "fmt"

func main() {
    m := make(map[string]int)
    m["apple"] = 5
    m["banana"] = 3

    val, ok := m["apple"]
    if ok {
        fmt.Println("apple:", val)
    }

    // Բանալի ջնջում
    delete(m, "banana")
}