• Предмет: Информатика
  • Автор: ivanus585
  • Вопрос задан 2 месяца назад

Golang

Напишите функцию GetCharacterAtPosition(str string, position int) (rune, error) для робота-помощника, которая получает на вход строку и целое число. Функция должна возвращать символ строки, который находится на позиции, указанной пользователем (и nil в качестве ошибки). Если пользователь ввёл число, которое выходит за пределы длины строки, функция должна возвращать в качестве ответа нулевую руну (0) сообщение об ошибке (position out of range).
Напоминаем про руны.

Заранее благодарен.


ivanshevchuk08: какой язик?
ivanus585: Golang
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)

}

}


ivanus585: на Go не мог бы пожалуйста?
ivanshevchuk08: сделал
ivanus585: func main() {
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
}
ivanus585: поставил это в main, не совсем корректно работает
ivanus585: вывод: 72
44
108
Вас заинтересует