- 分有符号和无符号,int unit 的大小和零碎无关
var a int = 6 // 64 位操作系统 a 的符号为 int64
var a = 100 // a 的类型为 int
- byte 等价于 int8,无符号,范畴 0 -255,个别存储字符
- rune 等价于 int32,有符号,示意一个 Unicode 码,解决带有中文的字符串
- 有固定范畴和字段长度,不受具体 OS(操作系统)影响
- 整型默认申明为 float64
var a = 0.34 // a 的类型为 float64
十进制模式:如 5.12 .512
迷信计数法:5.1234e2 = 5.12*10 的 2 次方 5.12E-2 = 5.12/10 的 2 次方
var c1 byte = 'a'
var c2 int = '中'
- golang 中字符实质是一个整数,间接输入时,是该字符对应的 UTF- 8 编码的值
- 字符是能够计算的,相当于一个整数
var n1 = 10 + 'a' // 10 + 97 = 107
- 在转换中,比方将 int64 转成 int8【-128—127】, 编译时不会报错,转换的后果是按溢出解决,和咱们心愿的后果不统一
var n1 int32 = 12
var n3 int8
var n4 int8
n3 = int8(n1) + 127 // 编译能通过,后果不是 12 + 127,按溢出解决
n4 = int8(n1) + 128 // 编译通不过
fmt.Println(n4)
// 用 Sprintf (集体举荐)
var num1 int = 99
var str string
str = fmt.Sprintf("%d", num1)~~~~
// 用 strconv 函数
var n1 int = 99
str = strconv.FormatInt(int64(num3), 10)
var str string = "true"
var b bool
b, _ = strconv.ParseBool(str) // 会返回两个值,不想获取 err,所有疏忽