In the general sense, Unicode "rune" is just a number, exactly like 64(0x40) is the number which is the code for '@' in both ASCII and Unicode.
- Is 64 a real number? Yes, of course. you can assign literal 64 to a float variable.
 
- Is 64 an integral number? Yes. You can assign literal 64 to any integral variable.
 
- Is 64 a signed number? Yes. You can assing literal 64 to any unsigned variable.
 
- Is 64 an unsigned number? Yes. You can assign literal 64 to any signed variable.
 
package main
import "fmt"
func main() {
    var f float64
    f = 64
    var b int8
    b = 64
    var u uint16
    u = 64
    var i int
    i = 64
    fmt.Println(f, b, u, i)
}
Playground
Output:
64 64 64 64
What this attempts to show is that [small] whole numbers (as well as such literals) are basically typeless, i.e. untyped.
Related: Rune Literals.