Can Golang multiply strings like Python can?
Question: Python can multiply strings like so:

    
    
    Python 3.4.3 (default, Mar 26 2015, 22:03:40)
    [GCC 4.9.2] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> x = 'my new text is this long'
    >>> y = '#' * len(x)
    >>> y
    '########################'
    >>>
    

Can Golang do the equivalent somehow?


Answer: It has a function instead of an operator,
[Repeat](https://golang.org/pkg/strings/#Repeat). Here's a port of your Python
example:

    
    
    package main
    
    import (
        "fmt"
        "strings"
        "unicode/utf8"
    )
    
    func main() {
        x := "my new text is this long"
        y := strings.Repeat("#", utf8.RuneCountInString(x))
        fmt.Println(y)
    }
    

Note that I've used `utf8.RuneCountInString(x)` instead of `len(x)`; the
former counts "runes" (Unicode code points), while the latter counts bytes. In
the case of `"my new text is this long"`, the difference doesn't matter since
all the characters are only one byte, but it's good to get into the habit of
specifying what you mean.

(In Python, `len` does both jobs depending on whether or not the string is a
Unicode string; in Go, you have to pick the function to match the semantics
you want.)

