How to reverse each word in a string with Go

1 Answer

0 votes
package main

import (
	"fmt"
	"strings"
)

func reverseEachWordInString(s string) string {
	words := strings.Split(s, " ")

	reversedWords := make([]string, len(words))
	for i, word := range words {
		reversedWords[i] = reverseString(word)
	}

	return strings.Join(reversedWords, " ")
}

func reverseString(s string) string {
	runes := []rune(s)

	for i, j := 0, len(runes) - 1; i < j; i, j = i + 1, j - 1 {
		runes[i], runes[j] = runes[j], runes[i]
	}

	return string(runes)
}

func main() {
	s := "go java c++ rust python c#"

	fmt.Println(reverseEachWordInString(s))
}


/*
run:

og avaj ++c tsur nohtyp #c

*/

 



answered Aug 31, 2024 by avibootz
...