Standard library support

fmt.Printf("%b", r)stringSprintf()
s := fmt.Sprintf("%b", r)
strconv.FormatInt()int64rune2
s := strconv.FormatInt(int64(r), 2)
runeint32

Doing it manually ("Simple but Naive"):

r & 0x01 == 0r >>= 1"1""0"
string
func RuneToBin(r rune) (s string) {
    if r == 0 {
        return "0"
    }
    for digits := []string{"0", "1"}; r > 0; r >>= 1 {
        s = digits[r&1] + s
    }
    return
}
'-'

Manual Performance-wise solution:

'0''1'runestringappend
func RuneToBinFast(r rune) string {
    if r == 0 {
        return "0"
    }
    b, i := [32]byte{}, 31
    for ; r > 0; r, i = r>>1, i-1 {
        if r&1 == 0 {
            b[i] = '0'
        } else {
            b[i] = '1'
        }
    }
    return string(b[i+1:])
}