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")
}