СodeWars, Golang решаем задачи #1
Строки в golang это что-то особенное, учимся работать с ними
Стартую серию статей по решению задач на кодварс.
В каждой заметке будет одна задача либо на GO, либо на SQL.
8 kyu - Remove First and Last Character It's pretty straightforward. Your goal is to create a function that removes the first and last characters of a string. You're given one parameter, the original string. You don't have to worry with strings with less than two characters.
Задача 8 уровня сложности(на сайте кодварс 8 самый легкий). Удалить первый и последний символ.
Это просто. Твоя задача создать функцию которая удалит первый и последний символ в строке. У тебя один входящий параметр, оригинальная строка. Тебе не нужно беспокоиться за строки состоящие всего из двух символов.
Дана функцию, которую нужно заполнить кодом. Приступим к решению.
func RemoveChar(word string) string {
}Первое что пришло в голову определить длину строки перебрать эту строку в цикле и отрезать первый и последний символы.
func RemoveChar(word string) string {
result := "" // Определяем переменную для возврата
max := len(word) - 1 // Определяем длину строки
for i, sm := range word { //обходим посимвольно строку в цикле
if i != 0 { if i != max {
result = result + string(sm)
}
}
}
return result
}Это решение будет работать, но оно очень плохое.
Лучшее решение для этой задачи:
func RemoveChar(word string) string {
return word[1:len(word)-1]
}Из-за особенности работы со строками в golang, мы можем просто обратится к строке по индексам и вернуть все символы кроме первого и последнего. Такое решение намного быстрее и проще в обслуживании и чтении кода.
Еще немного улучшим код, представим что нам все же может прийти строка длиною 2 или меньше символов.
func RemoveChar(word string) (result string) {
if len(word) > 2 {
result = word[1 : len(word)-1]
}
return
}