Can Golang multiply strings like Python can? -
python can multiply strings so:
python 3.4.3 (default, mar 26 2015, 22:03:40) [gcc 4.9.2] on linux type "help", "copyright", "credits" or "license" more information. >>> x = 'my new text long' >>> y = '#' * len(x) >>> y '########################' >>>
can golang equivalent somehow?
it has function instead of operator, strings.repeat
. here's port of python example:
package main import ( "fmt" "strings" "unicode/utf8" ) func main() { x := "my new text long" y := strings.repeat("#", utf8.runecountinstring(x)) fmt.println(y) }
note i've used utf8.runecountinstring(x)
instead of len(x)
; former counts "runes" (unicode code points), while latter counts bytes. in case of "my new text long"
, difference doesn't matter since characters 1 byte, it's habit of specifying mean.
(in python 2, len
counts bytes on plain strings , runes on unicode strings (u'...'
). in python 3, plain strings are unicode strings , len
counts runes; if want count bytes, have encode string bytearray
first. in go, there's 1 kind of string , don't have convert, have pick function matches semantics want.)
Comments
Post a Comment