Golang : Reverse text lines or flip line order example
Problem:
You are given lines of text and you need to reverse the lines order before encrypting the text. Reversing or scrambling the lines of text order can be useful in situation when you want extra layer of protection against decryption program. For example, from
abc
def
to
def
abc
How to do that?
Solution:
package main
import (
"fmt"
"strings"
)
func main() {
// originalOrder := `abc
//def
//ghi
//jkl
//mno
//pqr
//stu
//vwx
//yz`
originalOrder := `Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent porttitor nulla vitae interdum fermentum. Ut in vulputate neque.
Praesent luctus lacus a dolor tempus pellentesque. Cras sit amet urna eu augue suscipit eleifend.
Mauris mollis pharetra faucibus. Phasellus eu massa quam.
Nunc id metus placerat neque feugiat commodo.`
lines := strings.Split(originalOrder, "\n")
fmt.Println("Before :\n ", originalOrder)
reverseOrderSlice := []string{}
// https://www.socketloop.com/tutorials/golang-how-to-reverse-slice-or-array-elements-order
//reverse the elements in lines slice
for i := range lines {
n := strings.TrimSpace(lines[len(lines)-1-i])
reverseOrderSlice = append(reverseOrderSlice, n+"\n")
}
fmt.Println("=============================================")
// but we want the end result to be lines
toLines := fmt.Sprintf("%v", reverseOrderSlice)
// remove the prefix [ and suffix ] leftover
toLines = toLines[1 : len(toLines)-1]
fmt.Println("After :\n ", toLines)
}
Output:
Before :
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent porttitor nulla vitae interdum fermentum. Ut in vulputate neque.
Praesent luctus lacus a dolor tempus pellentesque. Cras sit amet urna eu augue suscipit eleifend.
Mauris mollis pharetra faucibus. Phasellus eu massa quam.
Nunc id metus placerat neque feugiat commodo.
=============================================
After :
Nunc id metus placerat neque feugiat commodo.
Mauris mollis pharetra faucibus. Phasellus eu massa quam.
Praesent luctus lacus a dolor tempus pellentesque. Cras sit amet urna eu augue suscipit eleifend.
Praesent porttitor nulla vitae interdum fermentum. Ut in vulputate neque.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
References:
https://www.socketloop.com/tutorials/golang-how-to-reverse-slice-or-array-elements-order
See also : Golang : How to reverse slice or array elements order
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
+5.2k Golang : Intercept, inject and replay HTTP traffics from web server
+14.6k Golang : Find commonalities in two slices or arrays example
+5k Golang : Issue HTTP commands to server and port example
+9.3k Golang : Extract or copy items from map based on value
+12.1k Golang : How to display image file or expose CSS, JS files from localhost?
+21.1k Curl usage examples with Golang
+8.8k Golang : Get SPF and DMARC from email headers to fight spam
+11.8k Golang : Find and draw contours with OpenCV example
+6.1k Golang : How to search a list of records or data structures
+17.6k Golang : How to make a file read only and set it to writable again?
+17.7k Golang : Simple client server example
+5.7k Golang : List all packages and search for certain package