You can get fmt.Scanf() to parse a binary number like this:
fmt.Scanf("%b", &numberInput)
but then it will accept only binary numbers, and digits in the input other than 0 and 1 will not be interpreted as part of the number.
If you want to handle all bases, then you might scan in a word, then use the strconv package to convert the string to an integer.
https://golang.org/pkg/strconv/#ParseInt
strconv.ParseInt() accepts the numeric base you want as an argument, so you could check for whatever prefix you want to use to indicate binary, then convert from base 2. Converting hexidecimal, octal, and decimal numbers is easy. Just specify a base of 0.