Golang : Repeat a character by multiple of x factor
In Python, it is pretty easy to repeat some characters inside a string. All you need to do is to multiply the letter with an integer value and the letter will be multiplied/repeated by x number of times
For example:
str = ''.join(['a' * 1, 'b' * 1, 'c' * 2, 'd' * 3, 'e' * 2, 'f' * 4, \
'g' * 5, 'h' * 6, 'i' * 3, 'j' * 7, 'k' * 8, 'l' * 9, 'm' * 10, \
'n' * 11, 'o' * 4, 'p' * 12, 'q' * 13, 'r' * 14, 's' * 15, \
't' * 16, 'u' * 5, 'w' * 17, 'y' * 18, 'z' * 19])
will produce:
abccdddeeffffggggghhhhhhiiijjjjjjjkkkkkkkklllllllllmmmmmmmmmmnnnnnnnnnnnoo
ooppppppppppppqqqqqqqqqqqqqrrrrrrrrrrrrrrsssssssssssssssttttttttttttttttuuuuuw
wwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz
However, it is not permissible to multiply a letter with integer in Golang. Doing so will generate error such as invalid operation: "join" * 2 (mismatched types string and int)
.
To create multiple instances/repeatition of a letter in Golang, you will have to use the strings.Repeat()
function.
Example:
package main
import (
"fmt"
"strings"
)
func main() {
str := []string{"a", "b", "c", "d", "e"}
fmt.Println(strings.Join(str, " "))
// Python way of repeating string by multiple of x will
// not work here
//str2 := []string{"a" * 2, "b", "c", "d", "e"}
// Golang's way of multiplying a string by x factor
str2 := []string{strings.Repeat("a", 2), "b", "c", "d", "e"}
fmt.Println(strings.Join(str2, " "))
a2 := strings.Repeat("a", 2)
b3 := strings.Repeat("b", 3)
c4 := strings.Repeat("c", 4)
d5 := strings.Repeat("d", 5)
e9 := strings.Repeat("e", 9)
str3 := []string{a2, b3, c4, d5, e9}
fmt.Println(strings.Join(str3, " "))
}
Output:
a b c d e
aa b c d e
aa bbb cccc ddddd eeeeeeeee
References:
https://www.socketloop.com/tutorials/golang-how-to-join-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
+5.4k Javascript : Change page title to get viewer attention
+10.1k Golang : Get escape characters \u form from unicode characters
+7.2k Golang : Transform lisp or spinal case to Pascal case example
+14.3k Javascript : Prompt confirmation before exit
+10.1k Golang : Turn string or text file into slice example
+4.8k Linux/MacOSX : How to symlink a file?
+10.2k Golang : Setting variable value with ldflags
+11.4k Golang : How to use if, eq and print properly in html template
+9.9k Golang : Load ASN1 encoded DSA public key PEM file example
+11.6k Golang : Handle API query by curl with Gorilla Queries example
+23.7k Golang : Get ASCII code from a key press(cross-platform) example