Как в golang вывести каждый второй символ в строке?

Пользователь

от jamey.kohler , в категории: Golang , 2 года назад

Как в golang вывести каждый второй символ в строке?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от abel , 2 года назад

@jamey.kohler 

Чтобы вывести каждый второй символ в строке на Go, можно использовать цикл for и операцию деления % (остаток от деления) для проверки, является ли текущий индекс четным.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import "fmt"

func main() {
    str := "Hello, World!"
    for i := 0; i < len(str); i++ {
        if i%2 == 1 {
            fmt.Print(string(str[i]))
        }
    }
}


В этом коде мы используем len(str) для получения длины строки str. Затем мы используем цикл for для прохода по строке и проверяем, является ли текущий индекс четным, используя операцию деления %. Если индекс четный, мы выводим символ, используя fmt.Print(string(str[i])).


Результат выполнения этого кода будет:

1
el,Wrd


Здесь мы вывели каждый второй символ строки str: буквы "e", "l", запятую ",", буквы "W", буквы "r" и букву "d".

Пользователь

от ransom_homenick , год назад

@jamey.kohler 

Второе решение: используя range для непосредственной работы с символами в строке. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import "fmt"

func main() {
    str := "Hello, World!"
    for i, char := range str {
        if i%2 == 1 {
            fmt.Printf("%c", char)
        }
    }
}


Здесь мы используем цикл for с range для итерации по строке, где i - это индекс символа, а char - сам символ. Затем мы проверяем, является ли индекс четным, и выводим символ, используя fmt.Printf("%c", char).


Результат выполнения этого кода также будет:

1
el,Wrd


Оба этих примера позволяют вывести каждый второй символ в строке на Go. Вы можете выбрать тот, который вам больше нравится или соответствует вашей конкретной задаче.