Саптар

Саптар, strings пакети, рундар жана []rune аркылуу сапты тескери буруу.

Go тилинде саптар өзгөрүлбөйт. Пайдалуу функциялар strings пакетинде жашайт: ToLower, ToUpper, Contains, Count, Split. Go тилинин ичке жагдайы: сап символдордо эмес, байттарда сакталат. Латын тамгалары жана цифралар үчүн бул маанилүү эмес, бирок кириллица тамгасы 2 байт ээлейт. Чыныгы символдор менен иштөө үчүн сап рундардын кесиндисине айландырылат: []rune(s). Эреже жөнөкөй: len(s) — байттар, len([]rune(s)) — символдор.
Go

Сөз киргизиңиз, мисалы: hello

Сапты тескери буруу рундардын кесиндиси аркылуу жасалат: биринчи символду акыркысы менен, экинчисин акыркынын алдындагысы менен алмаштырабыз, ортодо жолукканга чейин. Ушул эле жол палиндромду текшерүүнү да берет: тескери буруп, салыштырдык.
Go

Тескери буруу жана палиндромду текшерүү. Киргизиңиз: racecar

Убактылуу өзгөрмөсүз жасалган кооз алмаштырууну байкаңыз: r[i], r[j] = r[j], r[i] — Go тилинин фирмалык ыкмасы. Сабакка «Сапты тескери буруу», «Палиндромду текшерүү» жана «Үндүү тамгаларды саноо» маселелери тиркелген — үчөөнү тең чечип, сабакты өттүм деп белгилеңиз.

Практика үчүн маселелер

Доска