Golang
Напишите функцию GetCharacterAtPosition(str string, position int) (rune, error) для робота-помощника, которая получает на вход строку и целое число. Функция должна возвращать символ строки, который находится на позиции, указанной пользователем (и nil в качестве ошибки). Если пользователь ввёл число, которое выходит за пределы длины строки, функция должна возвращать в качестве ответа нулевую руну (0) сообщение об ошибке (position out of range).
Напоминаем про руны.
Заранее благодарен.
ivanshevchuk08:
какой язик?
Ответы на вопрос
Ответил ivanshevchuk08
1
изи
Объяснение:
package main
import (
"errors"
"fmt"
)
func GetCharacterAtPosition(str string, position int) (rune, error) {
// Проверяем, что позиция не выходит за пределы длины строки
if position < 0 || position >= len(str) {
return 0, errors.New("position out of range")
}
// Преобразуем строку в срез рун и выбираем символ на указанной позиции
runes := []rune(str)
character := runes[position]
return character, nil
}
func main() {
str := "Пример строки" // Замените на вашу строку
position := 3 // Замените на желаемую позицию
character, err := GetCharacterAtPosition(str, position)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("Символ на позиции %d: %c\n", position, character)
}
}
str := "Hello, World!"
fmt.Println(GetCharacterAtPosition(str, 0)) // prints 'H'
fmt.Println(GetCharacterAtPosition(str, 5)) // prints 'o'
fmt.Println(GetCharacterAtPosition(str, 10)) // prints nil, error
}
44
108
Новые вопросы