八进制以0开头,后面跟数字0~7。十六进制以0x开头,后面跟数字0~9或字母A~F(小写也可以)。
package main
import (
"fmt"
"math"
)
func main() {
a, b, c := 100, 0144, 0x64
fmt.Println(a, b, c)
fmt.Printf("%#b,%#o,%#x\n", a, a, a)
fmt.Println(math.MinInt8, math.MaxInt8)
}
fmt.Printf %#b %#o %#x b二进制 o 八进制 x 十六进制 %#d 十进制
package main
import "fmt"
func test(x byte) {
println(x)
}
func main() {
var a byte = 0x11
var b uint8 = a
var c uint8 = a + b
test(c)
fmt.Printf("%#b,%#o,%#x,%#d\n", a, a, a, a)
fmt.Printf("%#b,%#o,%#x,%#d\n", b, b, b, a)
fmt.Printf("%#b,%#o,%#x,%#d\n", c, c, c, a)
}
byte uint8 rune int32 别名类型无需转换直接赋值
但是int x 不能直接赋值给int64 x虽然他俩看起来差不多。