Senior
Ինչ է տողը Go-ում: Ինչպիսի՞ն է նրա կառուցվածքը և առանձնահատկությունները։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, տողը (string) անփոփոխ հաջորդականություն է բայթների, սովորաբար ներկայացնում է տեքստ UTF-8 կոդավորմամբ: Կառուցվածքային առումով, տողը իրականացվում է երկու դաշտերով կառուցվածքով՝ ցուցիչ բայթների զանգվածին և երկարություն:
Go-ի տողերի առանձնահատկությունները՝
- Անփոփոխություն՝ ստեղծելուց հետո, տողը չի կարող փոխվել: Յուրաքանչյուր գործողություն, որը փոխում է նրա պարունակությունը, ստեղծում է նոր տող:
- UTF-8՝ տողերը պահում են բայթեր UTF-8-ում, ինչը թույլ է տալիս աշխատել Unicode նշանների հետ:
- Մուտքագումար ըստ բայթների՝ տողի ինդեքսավորումը վերադարձնում է բայթ, ոչ նշան (rune): Նշանների հետ աշխատելու համար անհրաժեշտ է օգտագործել
unicode/utf8փաթեթը կամ փոխարկել տողը rune-ների սլայսի:
Սովորական տողի կառուցվածքի օրինակ՝
// տողը Go-ում մոտավորապես այսպես:
type stringStruct struct {
ptr *byte
len int
}
Տողի հետ աշխատանքի օրինակ՝
s := "Привет"
fmt.Println(len(s)) // բայթերի քանակը
runes := []rune(s)
fmt.Println(len(runes)) // նշանների (rune) քանակը