Golang : Reverse by word
This tutorial will show you how to reverse the order of words in a string. Reversing the words or elements order can be useful in queuing job or performing certain task that need LIFO(Last In First Out) order. In this simple example, the words order are reversed
package main
import (
"fmt"
"strings"
)
func reverse(s string) string {
words := strings.Fields(s) // tokenize each words from input string
totalLength := len(words)
// reverse the order(no sorting!)
for i, j := 0, totalLength-1; i < j; i, j = i+1, j-1 {
words[i], words[j] = words[j], words[i]
}
// return the reversed words
return strings.Join(words, " ")
}
func main() {
reversed := reverse("apple durian kiwi banana")
fmt.Println(reversed)
}
Output :
banana kiwi durian apple
NOTE :
Now, this is different from Sort.Reverse()
function, we are looking to reverse the order of the words, not sorting the order. If you are looking for sort and reverse, see here https://www.socketloop.com/tutorials/golang-sort-and-reverse-sort-a-slice-of-strings
Reference :
See also : Golang : Sort and reverse sort a slice of strings
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+6.1k Golang: Prevent over writing file with md5 hash
+6.5k Golang : Get final balance from bit coin address example
+8.7k Golang : Removes punctuation or defined delimiter from the user's input
+15.4k Golang : Count JSON objects and convert to slice/array
+18.5k Golang : Sort and reverse sort a slice of strings
+5.8k Golang : Variadic function arguments sanity check example
+6.1k Golang : Generate Datamatrix barcode
+7.7k Fix ERROR 1045 (28000): Access denied for user 'root'@'ip-address' (using password: YES)
+11.5k Golang : How to check if IP address is in range
+13.4k Golang : How to make a file read only and set it to writable again?
+6.4k Golang : Metaprogramming example of wrapping a function
+6.2k Golang : Emulate NumPy way of creating matrix example