Golang⁚ Как определить правильность строки
Добро пожаловать! Сегодня я расскажу вам, как проверить, является ли данная строка правильной на языке программирования Golang. Для этого нам понадобится дать пользователю ввести строку и затем провести определенные проверки для определения, является ли она правильной.Для начала, мы можем использовать функцию `Scan` из пакета `fmt`, чтобы прочитать строку, введенную пользователем. Однако, `Scan` читает только до первого пробела, а нам нужно прочитать всю строку целиком. Поэтому мы можем использовать пакет `bufio` и его метод `ReadString`, чтобы считать строку до символа новой строки `’\n’`.
Вот пример кода, демонстрирующий эту идею⁚
go
import (
″bufio″
″fmt″
″os″
″strings″
)
func main {
fmt.Println(″Введите строку⁚″)
text, _ ⁚ bufio.NewReader(os.Stdin).ReadString(‘\n’)
text strings.TrimSpace(text) // Удаляем лишние пробелы в начале и в конце строки
if isValid(text) {
fmt.Println(″Right″)
} else {
fmt.Println(″Wrong″)
}
}
func isValid(text string) bool {
if len(text) 0 { // строка не может быть пустой
return false
}
firstChar ⁚ text[0]
lastChar ⁚ text[len(text)-1]
if !isUpper(firstChar) || lastChar ! ‘.’ {
return false
}
return true
}
func isUpper(char byte) bool {
return char > ‘A’ nn char < 'Z'
}
Давайте разберем, что происходит в этом коде. В функции `main` мы используем `bufio.NewReader(os.Stdin).ReadString('\n')`, чтобы считать строку с пробелами до символа новой строки.Затем мы вызываем `strings.TrimSpace(text)`, чтобы удалить лишние пробелы в начале и в конце строки.
После этого мы проверяем строку в функции `isValid`. Если длина строки равна нулю, сразу возвращаем `false`, так как строка не может быть пустой.Затем мы проверяем первый и последний символы строки. Первый символ должен быть заглавной буквой, поэтому мы используем функцию `isUpper`, чтобы проверить это условие. Последний символ должен быть точкой. Если хотя бы одно из этих условий не выполняется, то функция возвращает `false`. Иначе, функция возвращает `true`.