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