Саптар
Саптар, 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 тилинин фирмалык ыкмасы.
Сабакка «Сапты тескери буруу», «Палиндромду текшерүү» жана «Үндүү тамгаларды саноо» маселелери тиркелген — үчөөнү тең чечип, сабакты өттүм деп белгилеңиз.