Junior
Ի՞նչ է ներկայացնում string տվյալների տիպը Golang լեզվում։
sobes.tech AI
Պատասխան AI-ից
Golang-да string՝ փոփոխական չհետաձգվող բայթների հաջորդականություն է:
Հիմնական հատկանիշներ՝
- Չփոխվողություն: Միայն ստեղծելուց հետո, տողը չի կարող փոխվել: Յուրաքանչյուր գործողություն, որը փոխում է տողը, իրականում ստեղծում է նոր տող:
- Ներկայացում: Տողը պարունակում է բայթների հաջորդականություն: Դեպքաբանականորեն, Golang-ը ենթադրում է, որ այդ բայթները ներկայացնում են UTF-8 կոդավորված տեքստ:
- Երկարություն: Տողի երկարությունը (
len(s)) վերադարձնում է բայտների քանակը, ոչ թե ռունաների (նշանների) քանակը: - Ինդեքսավորում: Տողի տարրերին մուտք գործելու համար օգտագործվում է ինդեքսը (
s[i]), որը վերադարձնում է այդ ինդեքսի բայթը: - Ռունաներ: Թե՞ նշանների (ռունաների) հետ աշխատելու համար, օգտագործվում է
for rangeցիկլը, որը դեկոդավորում է UTF-8-ը և տրամադրում ռունաներ և նրանց ինդեքսները:
Օրինակ՝
// Տողը սկզբնավորել
s := "Привет, мир!" // 23 բայթ, 12 ռունա
// Տողի երկարությունը (բայթներով)
byteLength := len(s) // 23
// Բայթի մուտք դեպի ինդեքսով
firstByte := s[0] // firstByte = 208 (բայթ՝ 'П' UTF-8-ում)
// Ռունաների վրա կրկնություն
runeCount := 0
for index, runeValue := range s {
// index - ռունայի սկզբնական ինդեքսը (բայթներով)
// runeValue - դեկոդավորված ռունան
runeCount++
}
// runeCount = 12