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
+10.3k RPM : error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
+10.3k Golang : Generate 403 Forbidden to protect a page or prevent indexing by search engine
+5.2k Golang *File points to a file or directory ?
+21.4k SSL : How to check if current certificate is sha1 or sha2
+7k CloudFlare : Another way to get visitor's real IP address
+18k Golang : Get command line arguments
+35.2k Golang : Integer is between a range
+7.8k Golang : Sort words with first uppercase letter
+9.5k Golang : Detect number of active displays and the display's resolution
+8.6k Golang : Get final balance from bit coin address example
+7k Golang : Gorrila mux.Vars() function example
+52.1k Golang : How to get struct field and value by name